【发布时间】:2014-11-29 11:27:59
【问题描述】:
我想知道这个查询是否可以运行得更快,或者如果可能的话如何使它更快。
$result = mysql_query("select
(select count(1) FROM videos WHERE title LIKE '%Cars%')as Cars,
(select count(1) FROM videos WHERE title LIKE '%Bikes%') as 'Bikes',
(select count(1) FROM videos WHERE title LIKE '%Airplanes%') as 'Airplanes',
(select count(1) FROM videos WHERE title LIKE '%Trucks%') as 'Trucks',
(select count(1) FROM videos WHERE title LIKE '%Games%') as 'Games'");
$row = mysql_fetch_assoc($result);
foreach($row as $title => $total)
{
echo '<li>
<a href="search.php?search='. $title . '&submit= ">'. $title.' '. $total .'</a></li>';
}
echo '<li class="spaceIN"></li><li class="letter">A</li>';
我复制了这个脚本并粘贴了 100 次,然后加载速度真的很慢。
【问题讨论】:
-
如果
SELECT查询INSERT/UPDATE/DELETE的比率很大,可以将这些计数器存储在单独的表中,并在更新videos表时更新它们.
标签: php mysql performance select count