韩剧1988免费观看全集_久久影视三级福利片_亚洲视频在线观看免费_在线观看欧美日韩_国产亚洲激情在线_亚洲精品美女久久久_欧美国产日韩一区二区在线观看_91在线观看免费高清完整版在线观看_日韩av免费看_国产又爽又黄的激情精品视频_琪琪亚洲精品午夜在线_欧美性猛xxx_不卡毛片在线看_国产亚洲日本欧美韩国_91国内在线视频_精品国产福利视频

當(dāng)前位置:蘿卜系統(tǒng)下載站 > 技術(shù)開發(fā)教程 > 詳細(xì)頁面

MySQL索引經(jīng)驗(yàn)之淺見

MySQL索引經(jīng)驗(yàn)之淺見

更新時(shí)間:2022-10-13 文章作者:未知 信息來源:網(wǎng)絡(luò) 閱讀次數(shù):

在數(shù)據(jù)庫(kù)表中,使用索引可以大大提高查詢速度。

假如我們創(chuàng)建了一個(gè)testIndex表:
CREATE TABLE testIndex(i_testID INT NOT NULL,vc_Name VARCHAR(16) NOT NULL);

我們隨機(jī)向里面插入了1000條記錄,其中有一條
i_testIDvc_Name
555erquan
 
在查找vc_Name="erquan"的記錄
SELECT * FROM testIndex WHERE vc_Name='erquan';
時(shí),如果在vc_Name上已經(jīng)建立了索引,MySql無須任何掃描,即準(zhǔn)確可找到該記錄!相反,MySql會(huì)掃描所有記錄,即要查詢1000次啊~~可以索引將查詢速度提高100倍。

一、索引分單列索引和組合索引
 單列索引:即一個(gè)索引只包含單個(gè)列,一個(gè)表可以有多個(gè)單列索引,但這不是組合索引。
 組合索引:即一個(gè)索包含多個(gè)列。

二、介紹一下索引的類型

1.普通索引。
這是最基本的索引,它沒有任何限制。它有以下幾種創(chuàng)建方式:
(1)創(chuàng)建索引:CREATE INDEX indexName ON tableName(tableColumns(length));如果是CHAR,VARCHAR類型,length可以小于字段實(shí)際長(zhǎng)度;如果是BLOB 和 TEXT 類型,必須指定length,下同。
(2)修改表結(jié)構(gòu):ALTER tableName ADD INDEX [indexName] ON (tableColumns(length))
(3)創(chuàng)建表的時(shí)候直接指定:CREATE TABLE tableName ( [...], INDEX [indexName] (tableColumns(length)) ;

2.唯一索引。
 它與前面的"普通索引"類似,不同的就是:索引列的值必須唯一,但允許有空值。如果是組合索引,則列值的組合必須唯一。它有以下幾種創(chuàng)建方式:
 (1)創(chuàng)建索引:CREATE UNIQUE INDEX indexName ON tableName(tableColumns(length))
(2)修改表結(jié)構(gòu):ALTER tableName ADD UNIQUE [indexName] ON (tableColumns(length))
(3)創(chuàng)建表的時(shí)候直接指定:CREATE TABLE tableName ( [...], UNIQUE [indexName] (tableColumns(length));

 3.主鍵索引
 它是一種特殊的唯一索引,不允許有空值。一般是在建表的時(shí)候同時(shí)創(chuàng)建主鍵索引:CREATE TABLE testIndex(i_testID INT NOT NULL AUTO_INCREMENT,vc_Name VARCHAR(16) NOT NULL,PRIMARY KEY(i_testID)); 當(dāng)然也可以用ALTER命令。
 記。阂粋(gè)表只能有一個(gè)主鍵。

4.全文索引
MySQL從3.23.23版開始支持全文索引和全文檢索。這里不作討論,呵呵~~

刪除索引的語法:DROP INDEX index_name ON tableName

三、單列索引和組合索引

為了形象地對(duì)比兩者,再建一個(gè)表:
CREATE TABLE myIndex ( i_testID INT NOT NULL AUTO_INCREMENT, vc_Name VARCHAR(50) NOT NULL, vc_City VARCHAR(50) NOT NULL, i_Age INT NOT NULL, i_SchoolID INT NOT NULL, PRIMARY KEY (i_testID) );

在這10000條記錄里面7上8下地分布了5條vc_Name="erquan"的記錄,只不過city,age,school的組合各不相同。
來看這條T-SQL:
SELECT i_testID FROM myIndex WHERE vc_Name='erquan' AND vc_City='鄭州' AND i_Age=25;

首先考慮建單列索引:
在vc_Name列上建立了索引。執(zhí)行T-SQL時(shí),MYSQL很快將目標(biāo)鎖定在了vc_Name=erquan的5條記錄上,取出來放到一中間結(jié)果集。在這個(gè)結(jié)果集里,先排除掉vc_City不等于"鄭州"的記錄,再排除i_Age不等于25的記錄,最后篩選出唯一的符合條件的記錄。

雖然在vc_Name上建立了索引,查詢時(shí)MYSQL不用掃描整張表,效率有所提高,但離我們的要求還有一定的距離。同樣的,在vc_City和i_Age分別建立的單列索引的效率相似。

為了進(jìn)一步榨取MySQL的效率,就要考慮建立組合索引。就是將vc_Name,vc_City,i_Age建到一個(gè)索引里:
ALTER TABLE myIndex ADD INDEX name_city_age (vc_Name(10),vc_City,i_Age);--注意了,建表時(shí),vc_Name長(zhǎng)度為50,這里為什么用10呢?因?yàn)橐话闱闆r下名字的長(zhǎng)度不會(huì)超過10,這樣會(huì)加速索引查詢速度,還會(huì)減少索引文件的大小,提高INSERT的更新速度。

執(zhí)行T-SQL時(shí),MySQL無須掃描任何記錄就到找到唯一的記錄!

肯定有人要問了,如果分別在vc_Name,vc_City,i_Age上建立單列索引,讓該表有3個(gè)單列索引,查詢時(shí)和上述的組合索引效率一樣吧?嘿嘿,大不一樣,遠(yuǎn)遠(yuǎn)低于我們的組合索引~~雖然此時(shí)有了三個(gè)索引,但MySQL只能用到其中的那個(gè)它認(rèn)為似乎是最有效率的單列索引。

建立這樣的組合索引,其實(shí)是相當(dāng)于分別建立了
vc_Name,vc_City,i_Age
vc_Name,vc_City
vc_Name
這樣的三個(gè)組合索引!為什么沒有vc_City,i_Age等這樣的組合索引呢?這是因?yàn)閙ysql組合索引"最左前綴"的結(jié)果。簡(jiǎn)單的理解就是只從最左面的開始組合。并不是只要包含這三列的查詢都會(huì)用到該組合索引,下面的幾個(gè)T-SQL會(huì)用到:
SELECT * FROM myIndex WHREE vc_Name="erquan" AND vc_City="鄭州"
SELECT * FROM myIndex WHREE vc_Name="erquan"
而下面幾個(gè)則不會(huì)用到:
SELECT * FROM myIndex WHREE i_Age=20 AND vc_City="鄭州"
SELECT * FROM myIndex WHREE vc_City="鄭州"

四、使用索引
到此你應(yīng)該會(huì)建立、使用索引了吧?但什么情況下需要建立索引呢?一般來說,在WHERE和JOIN中出現(xiàn)的列需要建立索引,但也不完全如此,因?yàn)镸ySQL只對(duì) <,<=,=,>,>=,BETWEEN,IN,以及某些時(shí)候的LIKE(后面有說明)才會(huì)使用索引。
SELECT t.vc_Name FROM testIndex t LEFT JOIN myIndex m ON t.vc_Name=m.vc_Name WHERE m.i_Age=20 AND m.vc_City='鄭州'時(shí),有對(duì)myIndex表的vc_City和i_Age建立索引的需要,由于testIndex表的vc_Name開出現(xiàn)在了JOIN子句中,也有對(duì)它建立索引的必要。

剛才提到了,只有某些時(shí)候的LIKE才需建立索引?是的。因?yàn)樵谝酝ㄅ浞?% 和 _ 開頭作查詢時(shí),MySQL不會(huì)使用索引,如
SELECT * FROM myIndex WHERE vc_Name like'erquan%'
會(huì)使用索引,而
SELECT * FROM myIndex WHEREt vc_Name like'%erquan'
就不會(huì)使用索引了。


五、索引的不足之處

上面說了那么多索引的好話,它真的有像傳說中那么優(yōu)秀么?當(dāng)然會(huì)有缺點(diǎn)了。

1.雖然索引大大提高了查詢速度,同時(shí)卻會(huì)降低更新表的速度,如對(duì)表進(jìn)行INSERT、UPDATE和DELETE。因?yàn)楦卤頃r(shí),MySQL不僅要保存數(shù)據(jù),還要保存一下索引文件

2.建立索引會(huì)占用磁盤空間的索引文件。一般情況這個(gè)問題不太嚴(yán)重,但如果你在一個(gè)大表上創(chuàng)建了多種組合索引,索引文件的會(huì)膨脹很快。


篇尾:
講了這么多,無非是想利用索引提高數(shù)據(jù)庫(kù)的執(zhí)行效率。不過索引只是提高效率的一個(gè)因素。如果你的MySQL有大數(shù)據(jù)的表,就需要花時(shí)間研究建立最優(yōu)秀的索引或優(yōu)化查詢語句。

如果你覺得上面有不妥的地方或有不同的意見或有需要補(bǔ)充的地方,歡迎跟貼討論^_^。

參考:MYSQL中文手冊(cè)、MYSQL在線手冊(cè)、SQLSERVER聯(lián)機(jī)叢書、PC163-IT指南

erquan
2003/2/25 下午于鄭州 

溫馨提示:喜歡本站的話,請(qǐng)收藏一下本站!

本類教程下載

系統(tǒng)下載排行

網(wǎng)站地圖xml | 網(wǎng)站地圖html
久久久精品视频免费观看| 国产精品国产亚洲伊人久久| 在线观看精品一区二区三区| 欧美啪啪小视频| 丝袜美腿一区二区三区动态图| 亚洲天堂一区二区三区| 波多野结衣黄色| 国内精品久久久久影院薰衣草| 日韩一区精品| 日韩人体视频一二区| 日本黄视频在线观看| 中文字幕免费在线看线人动作大片| av影音资源网| 欧美黄网免费在线观看| 最近2018年中文字幕在线| 性欧美xxxx大乳国产app| 亚洲综合在线一区| 免费看成年视频网页| 在线免费看av网站| 欧美专区福利在线| 中文字字幕码一二三区| 成人一级片免费看| 欧美大尺度做爰床戏| 日韩理论在线| 国产欧美精品xxxx另类| 国产盗摄一区二区三区| 久久久精品高清| 99国产欧美久久久精品| 91国内精品白嫩初高生| 91.com在线观看| 一区二区三区日韩视频| 一区二区三区黄色片| 秋霞一区二区| 外国一级黄色片| 久久综合久久综合九色| 欧美日韩精品一区二区三区在线观看| 午夜精品久久久久久99热软件| 日韩美女视频中文字幕| 欧美亚洲三级| 欧美片网站yy| 色哟哟日韩精品| 天天干天天操天天拍| 欧美性极品少妇| 亚洲成人一二三| 黄色片免费观看视频| 久久av无码精品人妻系列试探| 久久人人爽人人爽人人片亚洲| 网站在线你懂的| 电影天堂av在线| 91日本韩国| 91啦中文在线| 成人日韩视频| 手机免费观看av| 白浆爆出在线观看| 3d动漫啪啪精品一区二区免费| 免费观看一级欧美片| 亚洲图片在线综合| 伊人久久婷婷| 加勒比一区二区| 精精国产xxxx视频在线野外| 91探花福利精品国产自产在线| 成年网站免费视频黄| 一区二区三区三区在线| 成人啪啪免费看| 亚洲色图综合| 欧美少妇一区| 国产精品午夜春色av| 伊人色综合网| 国产91丝袜在线播放0| 人人艹在线视频| 日本精品一区二区三区视频| 亚洲激情中文字幕| 色aⅴ色av色av偷拍| 亚洲精品天堂成人片av在线播放| 性做爰过程免费播放| 97超碰色婷婷| 在线免费视频一区| 丰满白嫩尤物一区二区| 精品一区二区电影| 欧美xxx在线观看| 成人公开免费视频| 影音先锋中文在线观看| 99re国产视频| www.99re.av| 亚洲国产精品va在线看黑人| 五月天中文字幕在线| 国产iv一区二区三区| 欧美在线一级| 最近2019年日本中文免费字幕| 福利视频一区二区| 国产精品无码一区| 午夜免费视频在线国产| 国产成人精品一区二区在线小狼| 免费a级片在线观看| 手机看片福利在线观看| 美女国产一区二区| 最全影音av资源中文字幕在线| 桃色av一区二区| 亚洲第九十九页| 日韩精品久久久久久久软件91| 国产伦精品一区二区三区在线播放| 成人性生交xxxxx网站| 国产午夜精品久久久久| 精品成人自拍视频| 国产91在线播放精品| 亚洲欧美在线aaa| 国产精品国模大尺度私拍| 九九精品九九| 久久九九亚洲综合| 九热视频在线观看| 国产中文字幕精品| 国产精品无码一区二区桃花视频| 椎名由奈av一区二区三区| 欧美日产国产成人免费图片| 福利精品一区| 欧美一级欧美三级| 欧美精品久久久久久久久| 成人在线观看黄色| 成人av一级片| 国产卡一卡2卡三卡免费视频| 2019国产精品自在线拍国产不卡| 亚洲午夜私人影院| 欧美大波大乳巨大乳| 久久久精品午夜少妇| 亚洲国产精品人人做人人爽| 久久高清国产| 国产又粗又猛又黄又爽无遮挡| 成人自拍性视频| 久久66热re国产毛片基地| 一区二区在线观看免费| 伊人免费视频2| 老司机免费视频久久| 日韩精品成人免费观看视频| 天堂电影院在线| 日本一区二区免费电影| 91美女片黄在线观看游戏| 夜夜嗨yeyeh| 69堂成人精品视频免费| 综合网在线视频| 国产精品免费人成网站| 日韩高清国产一区在线| 91精品麻豆日日躁夜夜躁| 免费人成又黄又爽又色| 精品国产一区二区三区久久狼5月| 欧美成人免费在线观看视频| 国产人成在线观看| 中文字幕免费精品一区高清| 国产无遮挡又黄又爽在线观看| 久久精品中文字幕免费mv| 国产在线播放一区三区四| 欧美激情视频三区| 一区二区毛片| 国产成人无码www免费视频播放| 手机在线成人免费视频| 亚洲综合精品四区| 国产一级片免费在线观看| 日本欧美大码aⅴ在线播放| 麻豆免费视频网站入口| 欧美色窝79yyyycom| 91嫩草亚洲精品| 国产精品老熟女视频一区二区| 高清一区二区视频| 日韩欧美成人精品| 日本视频免费高清一本18| 正在播放精油久久| 久久久国产精品| 国产又黄又爽又猛免费app| 精品少妇一区二区三区在线播放| 欧美一级二级三级| 欧美国产日韩一区二区在线观看| 国产精品爱啪在线线免费观看| 国产精品二区一区二区aⅴ| 亚洲一区二区三区精品在线观看| 久久性天堂网| bdsmchinese医疗折磨| 亚洲欧美日韩精品综合在线观看| 欧美日韩在线播放三区四区| 99re免费99re在线视频手机版| 日韩精品一区二区不卡| aaaaaa亚洲| 亚洲aaa视频| 欧美日韩国产一中文字不卡| 中文字幕一区二区三区在线视频| 久久电影中文字幕| 精品在线免费观看| 91色porny在线视频| 欧美成人精品在线视频| 中文字幕伊人| 久久精品官网| 亚洲精品在线播放视频| 成人激情电影一区二区| 91精品国产91久久久久久最新| 18被视频免费观看视频| 日韩欧美精品一区二区| 久草中文综合在线| japanese中文字幕| 国产夫妻性生活视频| 黄色美女一级片| 日韩一区二区三区中文字幕| 91久久久久久国产精品| 亚洲国产精品悠悠久久琪琪| 久久性生活视频| 久久伊伊香蕉| 三级黄在线观看| 一级肉体全黄裸片| 亚洲国产精品久久| 国产aⅴ爽av久久久久| 欧美午夜电影在线| 黄色成人在线| 亚洲成人福利在线| 亚洲无线码在线一区观看| 日韩精选在线观看| 99re热这里只有精品免费视频| 亚洲欧美一区二区三区情侣bbw| 国产精品23p| 乱人伦精品视频在线观看| 国产精品一久久香蕉国产线看观看| 日本精品在线观看视频| 日韩成人伦理| 精品国产va久久久久久久| 成人h视频在线观看播放| 欧美精品色综合| 性欧美暴力猛交另类hd| 日本免费新一区视频| 亚洲欧美日韩三级| 国产高清在线观看| 久久无码人妻精品一区二区三区| 欧美精品在线播放| 中文字幕+乱码+中文字幕| 91性感美女视频| 在线观看亚洲专区| 亚洲精品一区二三区| 午夜视频精品| 人妻少妇精品无码专区| 午夜影院免费视频| 亚洲天堂免费在线| 国产精品一区二区日韩| 欧美日韩午夜激情| 少妇一区二区视频| 伦一区二区三区中文字幕v亚洲| 午夜久久久久久久久久影院| 最近2018年中文字幕在线| 欧美午夜一区二区三区免费大片| 国产精品videossex| 怡红院av久久久久久久| 亚洲免费一级片| 亚洲最大免费视频| 欧美性猛交xxxxbbbb| 老司机一区二区| segui88久久综合| 免费看av成人| 亚洲精品乱码久久久久久不卡| jizz亚洲大全| 亚洲国产日韩美| 99视频国产精品免费观看| 国产一区免费视频| 亚洲 欧美 日韩在线| 亚洲一区二区不卡免费| 手机在线理论片| 九九九九九九精品任你躁| 久久视频免费观看| 中文在线资源新版官网| 免费不卡的av| 成人在线视频国产| 国产一区二区三区天码| 尤物视频网站在线观看| 国内精品视频在线播放| 国产一区二区三区视频在线播放| 美女主播精品视频一二三四| 欧美性猛交xxxx黑人| 中文字幕亚洲电影| 亚洲综合在线网站| 精品国产一区二区在线观看| 亚洲成人免费视频| 91九色在线观看| 偷拍视频一区二区三区| 欧美xxxx做受欧美.88| 日韩免费电影在线观看| 无码aⅴ精品一区二区三区浪潮| 日批在线观看视频| 午夜高潮免费视频| 麻豆av在线免费看| 国产精品va在线观看无码| 粉嫩13p一区二区三区| 天堂资源在线播放| 蜜桃传媒在线观看免费进入| 国产成人精品亚洲777人妖| 欧美成人黄色网| 亚洲国产精品自拍视频| 国产三级精品在线不卡| 日韩成人高清视频| 亚洲国产午夜伦理片大全在线观看网站| 本道综合精品| 国产女主播在线写真| 国产91精品看黄网站在线观看| 热re99久久精品国99热蜜月| www插插插无码视频网站| 欧美性xxxxxx少妇| 一区二区三区蜜桃网| 欧美一区二区三区四区五区六区| 国产精品久久久久久久久久99| 天堂av中文在线资源库| 欧美精品乱人伦久久久久久| 国产区二精品视| 国产一级一级片| 国产极品视频在线观看| 深夜福利免费在线观看| 国内成人精品一区| 日韩激情av| 久久精品中文字幕电影| 欧美国产激情一区二区三区蜜月| 99亚洲一区二区| 东热在线免费视频| 国产精品老女人| 丰满湿润大白屁股bbw按摩| 亚洲免费观看在线视频| 久久免费99精品久久久久久| 国产欧美激情视频| www在线观看播放免费视频日本| 中文字幕第22页| 97欧美精品一区二区三区| 日本亚洲天堂网| 国产综合视频一区二区三区免费| 国产精品美女网站| 妖精视频一区二区三区免费观看| 伊人伊成久久人综合网小说| 国产日韩高清在线| 亚洲精品乱码久久久久久蜜桃91|