假设我有一个永远不会超过 10 条记录的表。在其上放置索引是否有任何明显的好处?它会产生负面结果吗?
20 条记录呢? 50? 500?假设数据库使用现代、强大的专用服务器硬件,表在什么时候真正看到了索引的实际好处。
最佳答案
就像任何 SQL 一样,视情况而定。
对于 10 条记录的表,您可能永远看不到使用的索引。优化器会将表扫描和索引扫描之间的差异视为零。
对于较大的表,这将取决于。没有对每张 table 都有益的“截止点”。这将取决于行宽、您索引的字段的选择性、索引的宽度、它是聚集的还是非聚集的等等。
我会说,如果您开始遇到性能问题,请查看索引是否有所作为。如果一个表超过 1000 行,如果我要加入它,我通常会对其进行索引,因为创建/维护索引所用的空间和时间是微不足道的(假设您没有在那么小的表中删除/插入很多内容) .
关于sql-server - 一个表可以是 "too small"通过索引它有什么好处吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5278404/