gpt4 book ai didi

sql-server - 什么是 SQL Server 中的 "large"表?

转载 作者:行者123 更新时间:2023-12-03 07:33:18 25 4
gpt4 key购买 nike

我有一张表,里面有 1000 万条记录。那算不算很多记录?我应该担心搜索时间吗?如果不是,它会不断增长,那么什么才算是大表呢?表大小对搜索时间的影响有多大,我可以做些什么来改善这些问题,最好是在它们成为问题之前?

最佳答案

“大”就像“聪明”——它是相对的。 1000 万行是一个不错的大小,但表是否大取决于许多因素:

  • 有多少列,它们的数据类型是什么?
  • 有多少索引?
  • 表的实际大小是多少(例如,页数 * 8kb,您可以从 sys.dm_db_partition_stats 获得)?
  • 针对它运行什么类型的查询?
  • 单个索引是否保存在内存中,或者大多数查询是否受益于聚集索引扫描(本质上,整个表需要在内存中)?
  • 机器上有多少内存?
  • 你认为什么大?

  • 搜索时间不一定由大小本身决定,而是由您的索引策略的有效性和您为搜索运行的查询类型决定的。如果你有这样的事情:
    WHERE description LIKE '%foo%'

    那么普通的索引对你没有任何帮助,你应该开始担心了。对于此类情况,您可能会考虑使用全文搜索。

    具有单个 INT 列(例如 Numbers 表)的表中的 1000 万行算不了什么。 1000 万行带有长描述、XML、地理数据、图像等的产品是另一回事。

    SQL Server 的最大容量规范没有记录表中行数的上限是有原因的。

    关于sql-server - 什么是 SQL Server 中的 "large"表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12498217/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com