鍍金池/ 問答/PHP  C++  數(shù)據(jù)庫/ mysql運行效率低,想請大家?guī)兔纯?,哪有問題

mysql運行效率低,想請大家?guī)兔纯?,哪有問題

我的一個網(wǎng)站是php+mysql,現(xiàn)在出現(xiàn)一個問題,

有兩個數(shù)據(jù)表:A和B,表A現(xiàn)有數(shù)據(jù)24萬條,表B現(xiàn)在數(shù)據(jù)2.4萬條。

從數(shù)據(jù)表A中抽出50條數(shù)據(jù),然后生成html頁面,用時3秒左右,
從數(shù)據(jù)表B中抽出50條數(shù)據(jù),然后生成html頁面,用時20秒左右。

數(shù)據(jù)量少的表用時更多,抽取代碼如下

<?php
$sql=$empire->query("select * from {$dbtbpre}ecms_rhesis where pote='$navinfor[title]' order by onclick desc limit 50");   
while($nr=$empire->fetch($sql))        //循環(huán)獲取查詢記錄
{
$mytitleurl=sys_ReturnBqTitleLink($nr);  
$nr2=$empire->fetch1("select * from {$dbtbpre}ecms_poetry where title='$nr[heading]' union select * from {$dbtbpre}ecms_classical_chinese where title='$nr[heading]'");
$mytitleurl2=sys_ReturnBqTitleLink($nr2);
?>
<li><a href="<?=$mytitleurl?>"><?=$nr[title]?></a> - - - <a href="[!--titleurl--]"><?=$navinfor[title]?></a> - - -《<a href="<?=$mytitleurl2?>"><?=$nr[heading]?></a>》</li>
<?php
}
?>

上面代碼是從2.4萬數(shù)據(jù)中抽取50條,用時20秒


<?php
$sql=$empire->query("select * from {$dbtbpre}ecms_poetry where pote='$navinfor[title]' union select * from {$dbtbpre}ecms_classical_chinese where pote='$navinfor[title]' order by onclick desc limit 50"); 
$nr3=$empire->fetch1("select * from {$dbtbpre}ecms_poet where title='$navinfor[title]'");
$mytitleurl3=sys_ReturnBqTitleLink($nr3);
while($pr=$empire->fetch($sql))        //循環(huán)獲取查詢記錄
{
$mytitleurl=sys_ReturnBqTitleLink($pr);
$t=$empire->fetch1("select tagid from {$dbtbpre}enewstagsdata where id='$pr[id]'");
$tn=$empire->fetch1("select tagname from {$dbtbpre}enewstags where tagid='$t[tagid]'");
?>
<li>《<a href="<?=$mytitleurl?>"><?=$pr[title]?></a>》 - - <a href="<?=$mytitleurl3?>"><?=$pr[pote]?></a> - - <a href="<?=$public_r['newsurl']?>tags-etagid<?=$t[tagid]?>-0.html"><?=$tn[tagname]?></a> - - <?=esub(strip_tags($pr[newstext]),160,'...')?></li>
<?php
}
?>

上面代碼是從24萬數(shù)據(jù)中抽取50條,用時3秒。

現(xiàn)在問題是:為什么數(shù)據(jù)量大的反而用時很少??

回答
編輯回答
愿如初

title 沒加索引吧

2018年8月28日 04:00