sql - 小表中列的非聚集索引

标签 sql sql-server tsql database-design indexing

我有下表,ReportType。该表将只有 100 行左右,并且永远不会被应用程序更新(因此 INSERTUPDATEDELETE 性能不是问题).

Table: ReportType
===========================================================
|  ID (PK)  |  Name  |  ExportFormat  |  SourceDatabase   |
===========================================================

是否仍然值得在 ExportFormat 上放置一个非聚集索引?此列在某些场景和某些报告中用作筛选条件。它根本不是高度选择性的(可能只有 10 个不同的值),这表明它不会成为非聚集索引的良好候选者。但是这个表从来没有经历过任何 INSERTUPDATEDELETE 操作,所以索引肯定会在这里真正受益(即使只是一点点)?

最佳答案

根据经验,少于 128 行的表的索引增加的开销超过了它的值(value)。尤其是非聚集索引——单个书签查找可能比扫描整个表更广泛。

关于sql - 小表中列的非聚集索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14360636/

相关文章:

mysql - UPDATE.. WHERE... - 交易可以在两者之间发生吗

sql - 配置单元查询以从表中删除最小值

sql-server - java.lang.NoSuchMethodError : com. microsoft.sqlserver.jdbc.SQLServerBulkCopyOptions.setAllowEncryptedValueModifications(Z)V 错误

sql - 情况当不同的值然后求和另一个值?

sql - 如何在没有循环/游标的情况下组合两个表来分配销售量与需求

sql - 为什么要在 sybase 中使用 GO 命令?

mysql - 如何用连接方式解决这个子查询?

sql - 如何在SQL Server中解析两个JSON?

使用临时表时 pyspark 中的 SQL 查询错误

sql - 使用 t-sql 组合 'LIKE' 和 'IN'