like查詢一般會掃瞄全表,但是dd%會用到索引,但是%dd,不會用到索引
當要建立聯合索引的時候,離散度較大的列放到前面。打個比方,如果要建立乙個姓名(name)和年齡(age)的聯合索引,肯定要把name放到前面(index(name,age)),因為age的範圍最多不會超過0-120(全世界沒幾個人能活到120歲以上吧),而name的情況就有成千上萬種了。放到前面的好處就是第一次就能篩掉一大批資料,這樣更有利查詢的效率。
和foreach一樣大的放外面減少cpu的跨層查詢
2.索引的連線使用相同的字段
連表查詢,要確保兩個字段使用相同的字段型別,字元編碼也要一樣.
3.不要使用order by rand()
這樣會給資料庫提前留下了乙個可怕的查詢瓶頸
4.索引字段型別也會影響查詢效率
varchar作為索引欄位是沒有int作為索引效率高,因為內部的索引方式不同
5.相對varchar有限使用enum
enum列舉型別是非常快速緊湊的,在內部就像tinyint一樣儲存,他們可以包含和顯示字串值
查詢優化(MySQL優化查詢)
關聯查詢太多join 設計缺陷或不得已的需求 資料庫伺服器調優及各個引數設定不適當 緩衝 執行緒數等 慢查詢日誌 找出執行速度慢的sql語句 慢查詢的開啟並捕獲 explain 慢sql分析 show profile查詢sql在mysql伺服器裡面的執行細節和生命週期情況 sql資料庫伺服器的引數調...
mysql統計查詢優化 Mysql查詢優化
效能涉及的層面很多,但是在操作層面,主要有表結構設計優化 索引優化和查詢優化 查詢的生命週期大致可以分為,從客戶端 到服務端 在伺服器上解析 生成執行計畫 執行 返回結果給客戶端 sql執行流程 具體優化技巧 1.消除外連線 2.消除子查詢 盡量用join代替子查詢,雖說mysql查詢優化器會進行優...
MySQL優化 查詢優化
在每乙個消耗大量時間的查詢中,都能看到一些不必要的額外操作 某些操作被額外地重複了很多次 某些操作執行得太慢等。優化查詢的目的就是減少和消除這些操作所花費的時間。查詢效能低下最基本的原因是訪問的資料太多。所以需要考慮是否向資料庫請求了不需要的資料 1 多表關聯時,或獲取單錶資料時,盡量避免不加思考地...