sql-server - 一个表可以是 "too small"通过索引它有什么好处吗?

标签 sql-server

假设我有一个永远不会超过 10 条记录的表。在其上放置索引是否有任何明显的好处?它会产生负面结果吗?

20 条记录呢? 50? 500?假设数据库使用现代、强大的专用服务器硬件,表在什么时候真正看到了索引的实际好处。

最佳答案

就像任何 SQL 一样,视情况而定

对于 10 条记录的表,您可能永远看不到使用的索引。优化器会将表扫描和索引扫描之间的差异视为零。

对于较大的表,这将取决于。没有对每张 table 都有益的“截止点”。这将取决于行宽、您索引的字段的选择性、索引的宽度、它是聚集的还是非聚集的等等。

我会说,如果您开始遇到性能问题,请查看索引是否有所作为。如果一个表超过 1000 行,如果我要加入它,我通常会对其进行索引,因为创建/维护索引所用的空间和时间是微不足道的(假设您没有在那么小的表中删除/插入很多内容) .

关于sql-server - 一个表可以是 "too small"通过索引它有什么好处吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5278404/

相关文章:

sql - 我可以添加没有 DEFAULT 值的非空列吗

sql - 批量删除(截断与删除)

c# - SQL Server - 以编程方式发现存储过程的返回值

python - 无法使用 django-mssql 提供程序

sql-server - 在 Azure Data Studio 1.9.0 中选择查询快捷方式

sql - 如何更新 SQL Server 表中现有的 XML 字段数据?

asp.net - SQL Server - 数据库问题

sql-server - 如何使用 OracleBulkCopy 格式化 SQL Server DateTimeOffset 并移动到 Oracle

php - sql查询重叠时间

sql - 将 mon-yy 格式的 varchar 转换为 SQL Server 中的日期时间