在数据库中,我有帐户详细信息表,其中包含大约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分钟。 请帮助我如何提高查询的执行速度以便更快地打印
答案 0 :(得分:2)
如果始终一起搜索这些列,请在它们上定义索引,
ALTER TABLE balancesheet ADD INDEX (formula, year, nse_code)
答案 1 :(得分:1)
使用EXPLAIN了解发动机罩下发生的事情(Yanks的发动机罩)。然后,您就可以创建适当的索引。
可以通过表定义或create index创建索引。查看optimize
也很有用答案 2 :(得分:0)
在哪些字段上添加索引以提高速度。