文章詳情頁
mysql普通索引效率
瀏覽:221日期:2022-06-14 13:04:28
問題描述
select * from post where zhuanid = 0 and catid <> 10 and empty =0;1、本SQL語句:唯一性太差的還要建索引嗎 比如empty 就是0或者1 catid一共就8個數 但表數據量是上百萬
2、還有2個及2個以上條件查詢的 必須要將全部字段建一個復合索引嗎
3、如果如上三個字段分別建了一個普通索引 這個and會使用索引嗎
對多個查詢條件的索引概念比較模糊 但我現在數據庫的CPU非常高
問題解答
回答1:具體問題具體分析。唯一性太差的沒必要創建獨立索引。建議創建聯合索引,并調整查詢語句。(zhanid,catid,empty)。語句改寫成 zhuanid = 0 and catid in(a,b,c,d,e) and empty =0
回答2:<> 這個是不是干掉索引了?
負向查詢條件:NOT、!=、<>、!<、!>、NOT IN、NOT LIKE等,會導致全表掃描
回答3:select 值得懷疑一下是否是必要的,分別索引的話,mysql優化器會有自己的判。你這個可以走覆蓋索引
相關文章:
1. javascript - sublime快鍵鍵問題2. 實現bing搜索工具urlAPI提交3. boot2docker無法啟動4. javascript - 移動端上不能實現拖拽布局嗎?5. javascript - 如何判斷不同兩個對象觸發同一事件?6. 前端 - 這段代碼一直生效不了,查半天因為 top: 0px; 分號后一個隱藏的東西,也不是占位符...刪了就可以生效,這是什么情況。。7. nginx bind failed8. thinkPHP5中獲取數據庫數據后默認選中下拉框的值,傳遞到后臺消失不見。有圖有代碼,希望有人幫忙9. angular.js - 單頁應用(ng/vue)該如何監聽用戶離開當前頁面(或者路由)?10. javascript - react native在run-android時出現這個錯誤該怎么解決?大神賜教
排行榜

網公網安備