【发布时间】:2016-02-25 10:11:29
【问题描述】:
我这里有问题。这是我的代码
$res = mysqli_query($conn, "SELECT * FROM ( SELECT * FROM ( SELECT m.subnum, ma.cd
FROM tr_mcerr AS m LEFT JOIN tr_mcerract AS ma ON m.subnum = ma.subnum
order by ma.dtact DESC ) AS A GROUP BY A.subnum )
AS B WHERE B.cd = '01'") or die(mysqli_error($conn));
$totalRows_1 = mysqli_num_rows($res);
如您所见,我只想获取行数。现在的问题是,仅此代码就需要大约 2 秒才能完成。还有 5 个这样的代码,但具有不同的表和字段。因此,要完全加载页面大约需要 13 秒才能完成。
还有其他解决方案吗?
可能导致执行时间长的原因是什么?
谢谢
【问题讨论】:
-
好吧,您可以使用
SELECT count(*)来计算,这就是其中的一部分。此外,为JOIN语句中包含的字段添加索引将显着提高性能。 -
删除
sub-select中的Order by。我没有看到它有任何用处