最近把論壇轉換為 utf-8 ,並把 MySQL 升級為 5.1.26
發現了一個奇怪的問題,就是在讀私人訊息時特別的慢,我本來以為是因為私人訊息的索引鍵是文字欄位造成的,所以就特別加了數字索引鍵,改了一以是有一點改善,不過在搜尋私人訊息時,一樣是變的很慢
後來發現一個奇怪的現象,就是如果搜尋結果超過二頁以上就很快,如果不滿一頁就很慢
我就試著把 LIMIT 的指令拿掉,竟然就變的很快,後來只好加上一個判斷,只要不滿一頁的就不加 LIMIT,而超過一頁的才加
這樣搜尋就變的一樣快了
複製程式
$query = $db->query("SELECT mid,msgfrom,msgto,msgfromid,msgtoid,ifnew,title,mdate FROM pw_msg WHERE msgtoid='$winduid' AND type='rebox' $sqlwhere ORDER BY mdate DESC".($count>$db_perpage?" LIMIT $start,$db_perpage":''));
目前還不了解這個問題的原因,只能先這樣處理,而我找了一下全部的程式,有很多地方要改,看了都傻眼了..