为什么 Insert 语句在索引表上执行速度较慢?
这实际上是同一类问题:
为什么需要更多时间才能将所有杂货放在厨房的正确位置
而不是在逛完杂货店后把所有东西都留在袋子里?
这是因为在存放杂货时,您希望将它们放在一个漂亮且众所周知的位置,以便以后更容易找到它们。
数据库也必须做同样的事情。
- 如果你有一个没有索引的表,它可以只在表的末尾添加新数据。
- 如果有索引,数据库必须执行更多工作。它可能仍然会将记录放在表的末尾,但另外它会更新其索引,以确保如果您之后想查找该记录,它会比没有索引更快地找到它。
这也意味着添加更多索引将进一步减慢插入速度。
应该清楚的是,您只想创建一个索引(如果您以后也将使用它)。如果您只创建索引并且之后不使用它来提高查询的性能,则不需要索引,因为它只会减慢插入速度,而不会改善任何查询。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)