利用php怎么對mysql中的查詢進行優化?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
PHP+Mysql是一個最經常使用的黃金搭檔,它們倆配合使用,能夠發揮出最佳性能,當然,如果配合Apache使用,就更加Perfect了.
因此,需要做好對mysql的查詢優化,下面通過一個簡單的例子,展現不同的SQL語句對于查詢速度的影響.
存在這樣的一張表test,它有一個自增的id作為主索引,現在要查詢id號處于某一個范圍內的記錄,可以使用如下SQL語句:
SELECT * FROM `test` order by id asc limit 208888,50
這條SQL語句的意思是從id號為208888的記錄開始向后取50條記錄,在一個30萬條記錄的數據庫中測試,在主索引都已經建立好的情況下,執行這條語句的時間為40~50秒,那么有沒有更快SQL語句來執行呢?顯然是有的,看看下面這條SQL語句:
SELECT * FROM `test` WHERE id BETWEEN 208838 AND 208888
這條語句使用了一個條件進行過濾,在實際中測試的執行時間約為0.06秒.
究其原因,是因為雖然id屬性上已經有索引了,但是排序仍然是一個非常高代價的操作,要慎用,而第二個語句,就可以讓MySql充分利用數據庫中已經建立好的B+樹索引,所以查找起來速度相當快,是原來的幾百倍.
由此可見,網站開發者在使用SQL語句的時候,一定要小心謹慎,因為一個疏忽大意的SQL語句,可能使得你的網站訪問速度急劇下降,后臺數據庫面臨巨大壓力,并且很快陷入無法打開頁面的窘境.
看完上述內容,你們掌握利用php怎么對mysql中的查詢進行優化的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。