哪个更好:几个SQL查询或一个包含大量数据的SQL数据?

时间:2010-11-30 15:54:37

标签: sql

我正在进行测验,我期待很多玩家。测验有一定数量的问题。测验系统可以从MySql数据库逐个获取个别问题并将其显示给用户。或者我可以在他/她登录并逐个显示时获取所有问题。由于大量的SQL查询,第二种方法能否显着地帮助减少服务器上的负载?在这里,我说的是同时玩游戏的500-600个用户。

5 个答案:

答案 0 :(得分:3)

唯一可以确定的方法是对这两种方法进行基准测试。

对于它的价值,我最近通过用少量大型查询替换了大量小型SQL查询,将性能关键代码的吞吐量提高了十倍。

答案 1 :(得分:0)

一个索引良好的数据库应该对单个查询没有任何问题,这是我更喜欢的。额外奖励:这些小查询将保留在服务器的查询缓存中,因此如果再次请求,将以更快的速度传递。

答案 2 :(得分:0)

这取决于数字。您是否正在显示所有问题,或者您是从1000中随机挑选的?

如果问题的数量很少,那么在单个查询中获取它们会更好。

如果问题的数量很大,在单个查询中获取它们可能会占用大量内存,因此逐个获取它们会更好。

答案 3 :(得分:0)

如果问题的数量很少,那么无论如何都会产生不同的影响。如果问题的数量很大,则在单个查询中获取更有效,因为您将避免大多数来回的网络延迟。

答案 4 :(得分:0)

除了15 选择查询外,每个用户的答案都是单独的插入查询。 DB服务器的最大优势是2批查询:每个用户1次选择和1次插入。

理论上,您每秒可以获得500-600次插入。在实践中,插入量会减少。

无论如何,你应该避免大量的查询,因为插入锁会有开销。