mysql教程 limit 用法與mysql limit 優化
/*
mysql limit 用法2007年11月08日 14:291. select * from tablename <條件語句> limit 100,15
從100條記錄後開始取15條 (實際取取的是第101-115條數據)
2. select * from tablename <條件語句> limit 100,-1
從第100條後開始-最後一條的記錄
3. select * from tablename <條件語句> limit 15
相當於limit 0,15 .查詢結果取前15條數據
下面來看看limit 優化方法,首先保存1000000條記錄如下。
*/
set_time_limit(0);
mysql_connect('localhost','root','root');
mysql_select_db('accc');
mysql_query("set names 'gb2312'");
echo '正在導入數據....';
for( $i=0;$i<=1000000;$i++)
{
$sql ="insert cn_loupan_news(cityid,zid,tid,did,title,body,click,litpic,sendname,header,recommend,hot,flash,setindex,opencomment,cityname,keywords,desciption,color,b,senddate,lid,nfrom,title2,zt)values('11','2','1','1','測試數據','測試數據','88','/aa/gigf.gif','aaaa','0','0','0','0','0','0','222','222','gsfdsgfds','1','1','124567124','0','fdafda','f','fdafa')";
mysql_query($sql) or die(mysql_error());
}
echo '成功導入100萬數據';
/*
select id
from `cn_loupan_news`
order by id desc
limit 800001 , 20
按主關鍵詞排排序查詢時間為 顯示行 0 - 19 (20 總計, 查詢花費 0.2712 秒)select *
from `cn_loupan_news`
order by id desc
limit 800001 , 20
顯示行 0 - 19 (20 總計, 查詢花費 4.3221 秒)
從這裡看如何選擇id主索引的,排序速度還理想,假如是*號再帶排序查詢時間4秒多啊,不可取的方法。
select *
from cn_loupan_news
where id >= (
select id
from cn_loupan_news
limit 800000 , 1 )
limit 10
顯示行 0 - 9 (10 總計, 查詢花費 0.2456 秒)
稍稍好了一點。
本站原創文章轉載注明來源於http://www.111cn.net/database/database.html