本篇內(nèi)容主要講解“MySQL哪些SQL語句不走索引”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學(xué)習(xí)“mysql哪些SQL語句不走索引”吧!
創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),遷西企業(yè)網(wǎng)站建設(shè),遷西品牌網(wǎng)站建設(shè),網(wǎng)站定制,遷西網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,遷西網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。
提起索引大家都不陌生,但在mysql中也有不使用索引的情況,接下來我們一起看看都有哪些不走索引的sql語句。
1、索引列參與表達式計算。
SELECT 'sname' FROM 'stu' WHERE 'age' + 10 = 30;
2、函數(shù)運算。
SELECT 'sname' FROM 'stu' WHERE LEFT('date',4) < 1990;
3、%詞語%–模糊查詢。
SELECT * FROM 'manong' WHERE `uname` LIKE '碼農(nóng)%' -- 走索引 SELECT * FROM 'manong' WHERE `uname` LIKE '%碼農(nóng)%' -- 不走索引
4、 字符串與數(shù)字比較。
CREATE TABLE 'a' ('a' char(10)); EXPLAIN SELECT * FROM 'a' WHERE 'a'="1" -- 走索引 EXPLAIN SELECT * FROM 'a' WHERE 'a'=1 -- 不走索引,同樣也是使用了函數(shù)運算
5、 查詢條件中有or。
即使其中有條件帶索引也不會使用。換言之,就是要求使用的所有字段,都必須建立索引:
select * from dept where dname='xxx' or loc='xx' or deptno = 45;
6、正則表達式不使用索引。
優(yōu)化器估計使用全表掃描要比使用索引快,不使用索引。
MySQL內(nèi)部優(yōu)化器會對SQL語句進行優(yōu)化。
到此,相信大家對“mysql哪些SQL語句不走索引”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進入相關(guān)頻道進行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!