php mysql查詢優化 MySQL查詢優化

2021-10-20 23:44:40 字數 1145 閱讀 2243

在我們使用mysql資料庫時,比較常用也是查詢,包括基本查詢,關聯查詢,條件查詢等等,對於同乙個操作,sql語句的實現有很多種寫法,但是不同的寫法查詢的效能可能會有很大的差異。這裡主要介紹下select查詢優化的要點。

1. 使用慢查詢日誌去發現慢查詢。

2. 使用執行計畫去判斷查詢是否正常執行。

3. 總是去測試你的查詢看看是否他們執行在最佳狀態下 –久而久之效能總會變化。

4. 避免在整個表上使用count(*),它可能鎖住整張表。

5. 使查詢保持一致以便後續相似的查詢可以使用查詢快取。

6. 在適當的情形下使用group by而不是distinct。

7. 在where, group by和order by子句中使用有索引的列。

8. 保持索引簡單,不在多個索引中包含同乙個列。

9. 有時候mysql會使用錯誤的索引,對於這種情況使用use index。

10. 檢查使用sql_mode=strict的問題。

11.對於記錄數小於5的索引字段,在union的時候使用limit不是是用or.

12. 為了 避免在更新前select,使用insert on duplicate key或者insert ignore ,不要用update去實現。

3. 不要使用 max,使用索引欄位和order by子句。

14. 避免使用order by rand().

15. limit m,n實際上可以減緩查詢在某些情況下,有節制地使用。

16. 在where子句中使用union代替子查詢。

17. 對於updates(更新),使用 share mode(共享模式),以防止獨佔鎖。

18. 在重新啟動的mysql,記得來溫暖你的資料庫,以確保您的資料在記憶體和查詢速度快。

19. 使用drop table,create table delete from從表中刪除所有資料。

20. 最小化的資料在查詢你需要的資料,使用*消耗大量的時間。

21. 考慮持久連線,而不是多個連線,以減少開銷。

22. 基準查詢,包括使用伺服器上的負載,有時乙個簡單的查詢可以影響其他查詢。

23. 當負載增加您的伺服器上,使用show processlist檢視慢的和有問題的查詢。

24. 在開發環境中產生的映象資料中 測試的所有可疑的查詢。

PHP MySQL分頁的優化

今天在本機布置 的時候,發現後台有乙個功能的分頁特別的慢,要十多秒才能開啟。本身機器也有一點慢,但是才1000多條資料就慢的不得了,以後怎麼辦。分頁的那個sql語句太複雜,有條件,有外鏈結,有排序,非常的慢,上網查了幾種優化方式。最後對 進行了優化,之後2秒就可以開啟了。sql stringx se...

php mysql查詢 php查詢mysql的例項

php查詢mysql的例項 背景 從mysql查詢各字段值輸出並且按照條件用紅色字型顯示滿足條件字段值。條件 1.syntime小於當前前一周時間的話顯示紅色。2.a欄位為 無 的話,顯示紅色。3.b欄位為 無 的話,顯示紅色。圖一資料庫結構 圖二資料庫各字段值 我的 我只滿足了第乙個條件,其餘兩個...

php mysql優化方法 MySQL優化常用方法

1.選取最適用的字段屬性 表中字段的寬度設得盡可能小 char 的上限為 255 位元組 固定占用空間 varchar 的上限 65535 位元組 實際占用空間 text 的上限為 65535。盡量把字段設定為 not null,執行查詢的時候,資料庫不用去比較 null 值。2.使用連線 join...