我意识到答案可能应该是“尽可能少的时间”,但我正在尝试学习如何优化数据库,但我不知道我的硬件可接受的时间是多少。
首先,我使用我的本地机器和 sql server 2008 express 的副本。我有一个双核处理器、2GB 内存和一个 64 位操作系统(如果有区别的话)。我只使用一个包含大约 6 个 varchar
字段的简单表。
起初我在没有任何索引的情况下查询数据。这花费了非常长的时间,所以我取消并在表中添加了一个聚集索引(使用 PK)。这将时间缩短到 1 分 14 秒。我不知道这是否是我能得到的最好的,或者我是否还能进一步减少它?
我是否受到我的硬件的限制,或者我可以对我的表/数据库/查询做些什么来更快地获得结果?
仅供参考,我只使用标准 SELECT * FROM <Table>
来检索我的结果。
编辑:只是为了澄清,我这样做只是为了测试目的。我不需要提取所有数据,我只是将其用作一致的测试,看看我是否可以减少查询时间。
我想我要问的是:除了a)升级硬件和b)添加索引(假设架构已经很好)之外,我还能做些什么来加快查询的性能?
原文由 alimac83 发布,翻译遵循 CC BY-SA 4.0 许可协议
我在 20 秒内完成了 550 万次。这需要超过 10 万个不同频率的时间表,并预测未来 25 年的时间。只是最大场景测试,但以调度系统为例证明了您可以实现的速度。