2020-02-27
創(chuàng)新互聯(lián)是一家專注于成都做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)、成都外貿(mào)網(wǎng)站建設(shè)與策劃設(shè)計(jì),乳山網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)10多年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:乳山等地區(qū)。乳山做網(wǎng)站價(jià)格咨詢:13518219792
最近一個(gè)日志頁面查詢很慢,然后去跟蹤了查詢sql,發(fā)現(xiàn)日期字段上即使建了索引,查詢還是很慢,執(zhí)行語句還是使用了全表掃描,于是繼續(xù)分析下去。
查詢語句類似:
select * from logs where createtime = '2020-01-01' ;
起初因?yàn)閐ate上沒檢索,查詢執(zhí)行的是全表掃描,給條件字段createtime建上索引:
再次執(zhí)行:
查詢執(zhí)行的還是全表掃描:
網(wǎng)上查詢有說是因?yàn)樵诓樵償?shù)據(jù)條數(shù)約占總條數(shù)五分之一以下時(shí)能夠使用到索引,但超過五分之一時(shí),使用全表掃描。于是把日期范圍縮?。?/p>
果真,查詢執(zhí)行的是range:
由此可知,在進(jìn)行范圍查詢時(shí),比如:、 、=、=等, 如果數(shù)據(jù)量過大的話,即使where條件字段已經(jīng)建立了索引,查詢語句執(zhí)行時(shí)還是有可能進(jìn)行全表掃描的。
實(shí)際上是不是全表的五分之一以下才會使用索引,這個(gè)不能確定,以后再研究了。
mysql不走索引5000條數(shù)據(jù)參考以下數(shù)據(jù)
一千萬的條目在時(shí)間上建立非聚集索引,用了7分鐘,半小時(shí)差不多。
索引跟類型關(guān)系很大,一般定長字段比變長字段簡單,IO消耗小,時(shí)間節(jié)省,復(fù)合索引變長越多就越復(fù)雜,其次就是一表多索引,這種情況會衍生各種存儲索引結(jié)構(gòu),就更費(fèi)時(shí)間了。
mysql優(yōu)化無索引查詢:SQL CREATE TABLE test_tab (id INT,name VARCHAR(10),age INT,val VARCHAR(10)。
1、對查詢進(jìn)行優(yōu)化,應(yīng)盡量避免全表掃描,首先應(yīng)考慮在where及order by涉及的列上建立索引。
2、應(yīng)盡量避免在 where子句中使用!=或操作符,否則將引擎放棄使用索引而進(jìn)行全表掃描。
3、應(yīng)盡量避免在 where子句中對字段進(jìn)行null值判斷,否則將導(dǎo)致引擎放棄使用索引而進(jìn)行全表掃描。
運(yùn)行mysql安裝文件:
按 Next,然后選擇安裝方式,有 "Typical(默認(rèn))"、"Complete(完全)"、"Custom(用戶自定義)",選擇第二個(gè)選項(xiàng) "Custom",下一步, MySQL Server (mysql服務(wù)器), Developer Components (開發(fā)者部分), Debug Symbols (調(diào)試符號), Server data files (服務(wù)器數(shù)據(jù)文件) 默認(rèn)。
改變安裝路徑;原路徑是"C:\Program Files\MySQL\MySQL Server 5.5\",也可以修改為:"E:\Program Files\MySQL Server 5.5\"。
分享標(biāo)題:mysql不走索引怎么辦 mysql不走索引情況
文章來源:http://jinyejixie.com/article12/dddhggc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google、網(wǎng)站設(shè)計(jì)公司、營銷型網(wǎng)站建設(shè)、小程序開發(fā)、網(wǎng)站內(nèi)鏈、手機(jī)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)