mysql普通索引效率
問題描述
select * from post where zhuanid = 0 and catid <> 10 and empty =0;1、本SQL語句:唯一性太差的還要建索引嗎 比如empty 就是0或者1 catid一共就8個(gè)數(shù) 但表數(shù)據(jù)量是上百萬
2、還有2個(gè)及2個(gè)以上條件查詢的 必須要將全部字段建一個(gè)復(fù)合索引嗎
3、如果如上三個(gè)字段分別建了一個(gè)普通索引 這個(gè)and會(huì)使用索引嗎
對(duì)多個(gè)查詢條件的索引概念比較模糊 但我現(xiàn)在數(shù)據(jù)庫的CPU非常高
問題解答
回答1:具體問題具體分析。唯一性太差的沒必要?jiǎng)?chuàng)建獨(dú)立索引。建議創(chuàng)建聯(lián)合索引,并調(diào)整查詢語句。(zhanid,catid,empty)。語句改寫成 zhuanid = 0 and catid in(a,b,c,d,e) and empty =0
回答2:<> 這個(gè)是不是干掉索引了?
負(fù)向查詢條件:NOT、!=、<>、!<、!>、NOT IN、NOT LIKE等,會(huì)導(dǎo)致全表掃描
回答3:select 值得懷疑一下是否是必要的,分別索引的話,mysql優(yōu)化器會(huì)有自己的判。你這個(gè)可以走覆蓋索引
相關(guān)文章:
1. node.js - nodejs+express+vue2. python - 如何把152753這個(gè)字符串轉(zhuǎn)變成時(shí)間格式15:27:533. python對(duì)8000行csv添加列4. javascript - onclick事件點(diǎn)擊不起作用5. python 字符串匹配問題6. DADB.class.php文件的代碼怎么寫7. 使用mysql命令行連接遠(yuǎn)程數(shù)據(jù)庫host跳轉(zhuǎn)8. javascript - 如何獲取未來元素的父元素在頁面中所有相同元素中是第幾個(gè)?9. javascript - 我的站點(diǎn)貌似被別人克隆了, google 搜索特定文章,除了域名不一樣,其他的都一樣,如何解決?10. 數(shù)據(jù)庫 - Mysql的存儲(chǔ)過程真的是個(gè)坑!求助下面的存儲(chǔ)過程哪里錯(cuò)啦,實(shí)在是找不到哪里的問題了。

網(wǎng)公網(wǎng)安備