返回 500 万条记录的查询需要多长时间?

新手上路,请多包涵

我意识到答案可能应该是“尽可能少的时间”,但我正在尝试学习如何优化数据库,但我不知道我的硬件可接受的时间是多少。

首先,我使用我的本地机器和 sql server 2008 express 的副本。我有一个双核处理器、2GB 内存和一个 64 位操作系统(如果有区别的话)。我只使用一个包含大约 6 个 varchar 字段的简单表。

起初我在没有任何索引的情况下查询数据。这花费了非常长的时间,所以我取消并在表中添加了一个聚集索引(使用 PK)。这将时间缩短到 1 分 14 秒。我不知道这是否是我能得到的最好的,或者我是否还能进一步减少它?

我是否受到我的硬件的限制,或者我可以对我的表/数据库/查询做些什么来更快地获得结果?

仅供参考,我只使用标准 SELECT * FROM <Table> 来检索我的结果。


编辑:只是为了澄清,我这样做只是为了测试目的。我不需要提取所有数据,我只是将其用作一致的测试,看看我是否可以减少查询时间。

我想我要问的是:除了a)升级硬件和b)添加索引(假设架构已经很好)之外,我还能做些什么来加快查询的性能?

原文由 alimac83 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 659
1 个回答

我在 20 秒内完成了 550 万次。这需要超过 10 万个不同频率的时间表,并预测未来 25 年的时间。只是最大场景测试,但以调度系统为例证明了您可以实现的速度。

原文由 Andy 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进