查找SUM时查询执行速度

时间:2013-03-08 13:27:43

标签: php mysql

在数据库中,我有帐户详细信息表,其中包含大约300000条记录,基于以下查询我必须在表格中显示报告,帐户名称和选定的公司值在年度,近40行和13列

我有查询,

$sql = ("SELECT sum(value) as val FROM balancesheet where formula='$formulaid' and year='$year' and nse_code='$companyCode'");

根据年份,公司和公式,这里的公式字段,假设公式为1 + 2 + 3表示, 查询将在循环内执行3次,并再次使用父循环

继续

o / p:就像

        2012      2011     2000.........
account name1   15.00     16.08    47.55
account name2   15.00     16.08    47.55
....... 

所以打印时间不到4到5分钟。 请帮助我如何提高查询的执行速度以便更快地打印

3 个答案:

答案 0 :(得分:2)

如果始终一起搜索这些列,请在它们上定义索引,

ALTER TABLE balancesheet ADD INDEX (formula, year, nse_code)

答案 1 :(得分:1)

使用EXPLAIN了解发动机罩下发生的事情(Yanks的发动机罩)。然后,您就可以创建适当的索引。

可以通过表定义或create index创建索引。查看optimize

也很有用

答案 2 :(得分:0)

在哪些字段上添加索引以提高速度。