如果使用得当,您将如何向某人解释索引如何提高数据库的性能?我正在寻找一个好的,清晰的解释,因为它在书中太复杂了。
发布于 2009-04-16 04:37:27
我会用经典的解释:
索引提供了一种有序而快速的方法来遍历数据集。
典型的例子是电话簿-它是按姓名的字母顺序编制索引的-这加快了您的访问速度,因为您可以使用索引方法直接找到要查找的姓名。
数据库实际上没有什么不同-您不必扫描整个表来查找EmployeeId = 123的员工。您只需扫描按已知顺序存储的索引,最终会获得更好的性能。
发布于 2009-04-16 05:08:53
如果你的问题中的关键词是“明智的”,那么有一点很重要,那就是索引的好处是快速查询,折衷是速度和大小。
就像在电话簿中一样,它需要一些额外的时间来维护索引,也需要一些空间来保存索引本身。无论何时向数据库添加记录或从数据库中删除记录,都必须花费一些时间来更新索引。
因此,在具有高插入率等的数据库上过度使用索引可能不被认为是明智的使用。但是,深思熟虑地使用索引来帮助加快查询速度可能会对性能产生巨大的好处。
发布于 2009-04-16 04:37:47
http://www.brentozar.com/archive/2006/04/sql-server-training-for-developers-primary-keys-indexes/
https://stackoverflow.com/questions/754767
复制相似问题