mysql查询非常慢,但我使用$dir = '/your/directory/here/';
$number = preg_replace('/20151001_Test\((.*)\)_test_summary.txt/','$1',$line);
$files = scandir($dir);
$matching = preg_grep('/_Test(' . $number . ')_test.txt/');
if ($matching) {
$file = file_get_content($matching[0]);
}
函数...
我通过查询和查询快速删除组。
我该如何解决这个问题?
我的查询代码:
"group by"
答案 0 :(得分:1)
答案 1 :(得分:0)
减速可能与GROUP BY子句无关。尝试在您需要的列上添加索引。
了解索引的链接:http://www.tutorialspoint.com/sql/sql-indexes.htm
MySQL Profiling也可能对您的努力有所帮助
答案 2 :(得分:0)
您的查询未经过优化,可能会以其他方式更好地完成,包括仅使用一个组合查询(JOIN)一次获取所有数据。
此外,如果您的表中包含大量项目,那么最好为字段创建INDEXES,以便在过滤器的常见查询中使用,以便加快搜索速度。
例如,你的第一次选择具有这种复杂性(并且可能没有很好地形成)
SELECT * FROM konucuklar WHERE status=''
and category='football'
GROUP BY matchhour
ORDER BY id asc
但仅用于获取第二个查询的matchhour。最小化优化是使用查询来仅获取所需的字段。
SELECT DISTINCT matchhour FROM konucuklar WHERE status='' and category='football'