大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學(xué)習(xí)攻略 Java學(xué)習(xí) Java數(shù)據(jù)庫視頻教程下載, MySQL如何建立索引

Java數(shù)據(jù)庫視頻教程下載, MySQL如何建立索引

更新時(shí)間:2020-04-17 13:57:53 來源:動(dòng)力節(jié)點(diǎn) 瀏覽2893次

    眾所周知,在MySQL數(shù)據(jù)庫中,索引是存儲引擎層實(shí)現(xiàn)的,它也是可以迅速找出記錄的一種數(shù)據(jù)結(jié)構(gòu),以犧牲空間的方式來換取時(shí)間。那么MySQL數(shù)據(jù)庫如何建立索引?有哪些技巧呢?本文將從創(chuàng)建索引的原因、原則和技巧三方面進(jìn)行分析,為大家解決上述疑問。

Java數(shù)據(jù)庫視頻教程下載, MySQL如何建立索引

    一、為什么要?jiǎng)?chuàng)建索引呢?

    1、通過創(chuàng)建唯一性索引,可以保證數(shù)據(jù)庫表中每一行數(shù)據(jù)的唯一性。

    2、可以大大加快數(shù)據(jù)的檢索速度,這也是創(chuàng)建索引的最主要的原因。

    3、可以加速表和表之間的連接,特別是在實(shí)現(xiàn)數(shù)據(jù)的參考完整性方面特別有意義。

    4、在使用分組和排序子句進(jìn)行數(shù)據(jù)檢索時(shí),同樣可以顯著減少查詢中分組和排序的時(shí)間。

    5、通過使用索引,可以在查詢的過程中,使用優(yōu)化隱藏器,提高系統(tǒng)的性能。

    二、MySQL數(shù)據(jù)庫創(chuàng)建索引的原則

    1、對于查詢頻率高的字段創(chuàng)建索引;

    2、對排序、分組、聯(lián)合查詢頻率高的字段創(chuàng)建索引;

    3、索引的數(shù)目不宜太多;

    4、若在實(shí)際中,需要將多個(gè)列設(shè)置索引時(shí),可以采用多列索引;

    5、選擇唯一性索引;

    6、盡量使用數(shù)據(jù)量少的索引;

    7、盡量使用前綴來索引;

    8、刪除不再使用或者很少使用的索引。

    三、MySQL數(shù)據(jù)庫建立索引的技巧

    1、對查詢進(jìn)行優(yōu)化,應(yīng)盡量避免全表掃描,首先應(yīng)考慮在where及orderby涉及的列上建立索引。

    2、應(yīng)盡量避免在where子句中對字段進(jìn)行null值判斷,否則將導(dǎo)致引擎放棄使用索引而進(jìn)行全表掃描,如:selectidfromtwherenumisnull可以在num上設(shè)置默認(rèn)值0,確保表中num列沒有null值,然后這樣查詢:selectidfromtwherenum=0

    3、應(yīng)盡量避免在where子句中使用!=或<>操作符,否則引擎將放棄使用索引而進(jìn)行全表掃描。

    4、應(yīng)盡量避免在where子句中使用or來連接條件,否則將導(dǎo)致引擎放棄使用索引而進(jìn)行全表掃描,如:selectidfromtwherenum=10ornum=20可以這樣查詢:selectidfromtwherenum=10unionallselectidfromtwherenum=20

    5、in和notin也要慎用,否則會導(dǎo)致全表掃描,如:selectidfromtwherenumin(1,2,3)對于連續(xù)的數(shù)值,能用between就不要用in了:selectidfromtwherenumbetween1and3

    6、避免使用通配符。下面的查詢也將導(dǎo)致全表掃描:selectidfromtwherenamelike‘李%’若要提高效率,可以考慮全文檢索。

    7、如果在where子句中使用參數(shù),也會導(dǎo)致全表掃描。因?yàn)镾QL只有在運(yùn)行時(shí)才會解析局部變量,但優(yōu)化程序不能將訪問計(jì)劃的選擇推遲到運(yùn)行時(shí);它必須在編譯時(shí)進(jìn)行選擇。然而,如果在編譯時(shí)建立訪問計(jì)劃,變量的值還是未知的,因而無法作為索引選擇的輸入項(xiàng)。如下面語句將進(jìn)行全表掃描:selectidfromtwherenum=@num可以改為強(qiáng)制查詢使用索引:selectidfromtwith(index(索引名))wherenum=@num

    8、在使用索引字段作為條件時(shí),如果該索引是復(fù)合索引,那么必須使用到該索引中的第一個(gè)字段作為條件時(shí)才能保證系統(tǒng)使用該索引,否則該索引將不會被使用,并且應(yīng)盡可能的讓字段順序與索引順序相一致。

    9、盡可能的使用varchar/nvarchar代替char/nchar,因?yàn)槭紫茸冮L字段存儲空間小,可以節(jié)省存儲空間,其次對于查詢來說,在一個(gè)相對較小的字段內(nèi)搜索效率顯然要高些。

    10、在所有的存儲過程和觸發(fā)器的開始處設(shè)置SETNOCOUNTON,在結(jié)束時(shí)設(shè)置SETNOCOUNTOFF。無需在執(zhí)行存儲過程和觸發(fā)器的每個(gè)語句后向客戶端發(fā)送DONE_IN_PROC消息。

Java數(shù)據(jù)庫視頻教程下載, MySQL如何建立索引

 以上就是動(dòng)力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)的小編針對“Java數(shù)據(jù)庫視頻教程下載, MySQL如何建立索引”的內(nèi)容進(jìn)行的回答,希望對大家有所幫助,如有疑問,請?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。

    Java數(shù)據(jù)庫免費(fèi)視頻教程

    老杜最新MySQL教程:http://www.dabaquan.cn/javavideo/111.html

提交申請后,顧問老師會電話與您溝通安排學(xué)習(xí)

免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 日本在线观看一级高清片 | 在线视频亚洲 | 精品综合一区二区三区 | 久久久免费观看 | 中文字幕2区 | 亚洲一级毛片在线播放 | 久久这里只有精品久久 | 欧美成人香蕉在线观看 | 天天操精品| 狠狠狠色丁香婷婷综合久久五月 | 国产一级久久久久久毛片 | 四虎永久在线 | 国产在线91精品入口首页 | 99久久香蕉国产综合影院 | 免费看h片网站 | 91在线亚洲精品一区 | 桃色婷婷 | 亚洲国产资源 | 久久国产免费观看精品1 | 国产精品久久久久久久久久妇女 | 亚洲国产精品久久久久 | 色老头老太xxxxbbbb | 九九影片重口味 | 久久99久久99小草精品免视看 | 日本xoxoxo在线播放 | 精品国产91久久久久久久a | 中文字幕亚洲区 | 在线日产一区二区 | 免费视频 久久久 | 成人激情视频在线 | 亚洲国产精品婷婷久久 | 国产女人视频 | 免费爱爱视频 | 成人欧美一区二区三区黑人妖 | 免费视频不卡一区二区三区 | 欧美爱爱网 | 国产亚洲精aa在线观看香蕉 | 亚洲精品一区二区三区四区 | 久久久久综合网 | 日本高清免费不卡毛片 | 九九精品久久 |