什么时候查询太大了?

时间:2010-04-28 14:02:10

标签: sql database performance

我正在监控呼叫并将它们放入数据库中。我把调用者,调用,开始,结束放在数据库中。平均每天有70-80个电话(周末没有电话),所以一周有350-400个电话。该程序将使用很长时间,因此一年后数据库中将有许多项目。

程序的一部分以图形(音量/天)和列表框(谁叫谁)显示调用。为此,我使用典型的“select * from table”来检索信息。

查询何时会如此之大,以至于用户会遇到性能下降?

更新

我需要表中的所有信息,因此根据某些人的说法选择*最好。

数据库中的每一行包含1个int和4个字符串,简单数据。

5 个答案:

答案 0 :(得分:6)

现在限制它。

你真的需要这些数据吗?图表/列表的合理性是什么? 30天? 60天?用户可选择的?

尽管如此,每年20000次呼叫并不是一个庞大的数据量。

此外,SELECT *的错误形式 - 您应该始终指定您正在选择的列列表。

答案 1 :(得分:3)

您没有指定数据存储的内容,架构,索引等。因此,很少有信息可以继续。

但是,作为一般规则(舌头紧紧地贴在脸颊上):

  

当用户开始抱怨时。

答案 2 :(得分:1)

如果你只做一个简单的选择,那么在有人注意到之前,我猜测数百万条记录。

当然,如果您的数据库服务器位于慢速计算机上,那么这也会阻碍它。

你在做Where子句或分组吗?任何加入?如果是,那些是索引列吗?

最佳答案是:取决于。

答案 3 :(得分:1)

即使您的音量增加,在应用程序的生命周期内也不应存在性能问题。 只要

  • 您对查询使用的字段有良好的indexes
  • 你的查询中没有做些傻事。

如果没有好的索引,您最终会遇到问题。一些不那么重要的建议:

  • 指定所需的列,而不是使用“Select *”
  • 确保您的报告查询不会被称为每秒一千次或类似的事情。

答案 4 :(得分:0)

一根绳子有多长?

这取决于很多因素(包括你认为的“绩效损失”),这里不可能给出一个坚定的答案。您将不得不自己测试并查看