中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

使用mysql索引的注意事項有哪些

這篇文章主要介紹了使用MySQL索引的注意事項有哪些,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

10年積累的成都網(wǎng)站制作、成都做網(wǎng)站經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先網(wǎng)站制作后付款的網(wǎng)站建設(shè)流程,更有海豐免費網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

mysql的優(yōu)化可以從硬件設(shè)備的選擇、操作系統(tǒng)、數(shù)據(jù)庫結(jié)構(gòu)設(shè)計、SQL查詢、應(yīng)用程序各個方面進行y優(yōu)化,這里只從數(shù)據(jù)庫的設(shè)計及查詢語句方面進行優(yōu)化。
1,創(chuàng)建索引
對 于查詢占主要的應(yīng)用來說,索引顯得尤為重要。很多時候性能問題很簡單的就是因為我們忘了添加索引而造成的,或者說沒有添加更為有效的索引導(dǎo)致。如果不加索 引的話,那么查找任何哪怕只是一條特定的數(shù)據(jù)都會進行一次全表掃描,如果一張表的數(shù)據(jù)量很大而符合條件的結(jié)果又很少,那么不加索引會引起致命的性能下降。
但是也不是什么情況都非得建索引不可,比如性別可能就只有兩個值,建索引不僅沒什么優(yōu)勢,還會影響到更新速度,這被稱為過度索引。
2,復(fù)合索引
比如有一條語句是這樣的:select * from users where area=’beijing’ and age=22;
如 果我們是在area和age上分別創(chuàng)建單個索引的話,由于mysql查詢每次只能使用一個索引,所以雖然這樣已經(jīng)相對不做索引時全表掃描提高了很多效率, 但是如果在area、age兩列上創(chuàng)建復(fù)合索引的話將帶來更高的效率。
如果我們創(chuàng)建了(area, age, salary)的復(fù)合索引,那么其實相當(dāng)于創(chuàng)建了(area,age,salary)、(area,age)、(area)三個索引,這被稱為最佳左前綴 特性。因此我們在創(chuàng)建復(fù)合索引時應(yīng)該將最常用作限制條件的列放在最左邊,依次遞減。
3,索引不會包含有NULL值的列
只要列中包含有NULL值都將不會被包含在索引中,復(fù)合索引中只要有一列含有NULL值,那么這一列對于此復(fù)合索引就是無效的。所以我們在數(shù)據(jù)庫設(shè)計時不要讓字段的默認(rèn)值為NULL。
4,使用短索引
對串列進行索引,如果可能應(yīng)該指定一個前綴長度。例如,如果有一個CHAR(255)的 列,如果在前10 個或20 個字符內(nèi),多數(shù)值是惟一的,那么就不要對整個列進行索引。短索引不僅可以提高查詢速度而且可以節(jié)省磁盤空間和I/O操作。
5,排序的索引問題
mysql查詢只使用一個索引,因此如果where子句中已經(jīng)使用了索引的話,那么order by中的列是不會使用索引的。因此數(shù)據(jù)庫默認(rèn)排序可以符合要求的情況下不要使用排序操作;盡量不要包含多個列的排序,如果需要最好給這些列創(chuàng)建復(fù)合索引。
6,like語句操作
一般情況下不鼓勵使用like操作,如果非使用不可,如何使用也是一個問題。like “%aaa%” 不會使用索引而like “aaa%”可以使用索引。
7,不要在列上進行運算
select * from users where YEAR(adddate)<2007;將在每個行上進行運算,這將導(dǎo)致索引失效而進行全表掃描,因此我們可以改成select * from users where adddate<&lsquo;2007-01-01&rsquo;;
8,不使用NOT IN和<>操作
NOT IN和<>操作都不會使用索引將進行全表掃描。NOT IN可以NOT EXISTS代替,id<>3則可使用id>3 or id<3來代替

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“使用mysql索引的注意事項有哪些”這篇文章對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!

新聞標(biāo)題:使用mysql索引的注意事項有哪些
URL標(biāo)題:http://www.rwnh.cn/article22/jdgijc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、品牌網(wǎng)站制作網(wǎng)站營銷網(wǎng)頁設(shè)計公司、定制開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁設(shè)計公司
仲巴县| 赤水市| 宿松县| 威海市| 犍为县| 怀安县| 清苑县| 东乌珠穆沁旗| 木兰县| 长宁县| 汪清县| 恩施市| 裕民县| 滁州市| 金堂县| 黔西县| 宜丰县| 苍南县| 内丘县| 洛浦县| 武夷山市| 伊宁县| 永靖县| 红桥区| 寿宁县| 霍林郭勒市| 淮阳县| 大冶市| 牙克石市| 乌兰县| 师宗县| 汶上县| 泰兴市| 拉孜县| 黄龙县| 万安县| 平顶山市| 三门峡市| 兴山县| 台北市| 遂昌县|