索引数量越少,插入、更新和删除的速度越快?

7 浏览
0 Comments

索引数量越少,插入、更新和删除的速度越快?

我听说“索引数量越少,插入、更新和删除的速度就越快”。这是正确的吗?如果是,为什么?

0
0 Comments

较少的索引数意味着插入、更新和删除操作更快吗?这个问题的出现是由于索引的工作方式。索引(您创建的)是次要的,通常使用B+树或类似的结构。这些树中的值指向您在数据库中拥有的记录,因此使用索引列的SELECT子句更快,因为它们可以在树中快速找到(比仅检查每一行要快),但是在数据库中进行的更新、插入和删除操作也需要更新索引,这会减慢过程。解决方法是根据实际需求和性能要求,仔细选择需要创建索引的列,并避免不必要的索引。只创建必要的索引,可以减少索引的数量,从而提高插入、更新和删除操作的速度。

0
0 Comments

较少的索引数量意味着更快的插入、更新和删除。这个问题的出现原因是,索引在写入表时需要更新,这需要时间。而且,索引的数量越多,这个过程就会变得越慢。只有在where子句中的列具有索引时,索引才能使选择查询运行更快。因此,索引只是一种对数据进行排序并保持排序顺序便于快速访问列元素的方式。如果我们更新一个非索引列,性能应该不会受到影响。对于MVCC数据库(如Postgres、MySQL/Innodb和其他一些数据库),即使更新非索引列,索引也需要被更新。可以通过在谷歌搜索中输入"sql index how do they help select queries"来了解更多信息。

0