我有一个表,其中有 1000 万条记录。这算是很多记录吗?我应该担心搜索时间吗?如果没有,它会继续增长,那又怎样is算一张大桌子吗?表大小对搜索时间的影响有多大?我可以采取哪些措施来改善这些问题(最好是在它们成为问题之前)?
“大”就像“聪明”——它是相对的。 1000 万行是一个不错的大小,但表是否很大取决于许多因素:
- 多少columns它们的数据类型是什么?
- 有多少个索引?
- 表的实际大小是多少(例如页数 * 8kb,您可以从
sys.dm_db_partition_stats
)?
- 针对它运行什么类型的查询?
- 单个索引是否保存在内存中,或者大多数查询是否受益于聚集索引扫描(本质上,整个表需要位于内存中)?
- 机器上有多少内存?
- what do you考虑大吗?
搜索时间不一定由大小本身决定,而是由索引策略的有效性以及为搜索运行的查询类型决定。如果你有这样的事情:
WHERE description LIKE '%foo%'
那么正常的指数对你没有任何帮助,你应该开始担心。对于此类情况,您可能会考虑使用全文搜索。
具有单个 INT 列的表(例如 Numbers 表)中的 1000 万行不算什么。 1000 万行具有长描述、XML、地理数据、图像等的产品则完全是另一回事。
SQL Server 的最大容量规范没有记录表中行数的上限,这是有原因的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)