轉自:https://xushanxiang.com/2019/11/mysql-optimization-tips.html ...
- 開啟查詢緩存,優化查詢。
explain
你的select
查詢,這可以幫你分析你的查詢語句或是表結構的性能瓶頸。EXPLAIN
的查詢結果還會告訴你你的索引主鍵被如何利用的,你的數據表是如何被搜索和排序的。- 當只要一行數據時使用
limit 1
,MySQL
資料庫引擎會在找到一條數據後停止搜索,而不是繼續往後查少下一條符合記錄的數據。 - 為搜索欄位建索引。
- 使用
ENUM
而不是VARCHAR
。如果你有一個欄位,比如“性別”、“狀態”或“部門”,你知道這些欄位的取值是有限而且固定的,那麼,你應該使用ENUM
而不是VARCHAR。
Prepared Statements
,預編譯語句Prepared Statements
很像存儲過程,是一種運行在後臺的SQL
語句集合,我們可以從使用prepared statements
獲得很多好處,無論是性能問題還是安全問題。Prepared Statements
可以檢查一些你綁定好的變數,這樣可以保護你的程式不會受到“SQL
註入式”攻擊。- 垂直分表;
- 根據業務需求,選擇合適的存儲引擎。
轉自:https://xushanxiang.com/2019/11/mysql-optimization-tips.html