新聞中心
一、 MySQL: 索引以B樹格式保存

成都創(chuàng)新互聯(lián)公司服務(wù)項(xiàng)目包括新洲網(wǎng)站建設(shè)、新洲網(wǎng)站制作、新洲網(wǎng)頁(yè)制作以及新洲網(wǎng)絡(luò)營(yíng)銷策劃等。多年來(lái),我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,新洲網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到新洲省份的部分城市,未來(lái)相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
Memory存儲(chǔ)引擎可以選擇Hash或BTree索引,Hash索引只能用于=或<=>的等式比較。
1、普通索引:create index on Tablename(列的列表)
alter table TableName add index (列的列表)
create table TableName([...], index [IndexName] (列的列表)
2、***性索引:create unique index
alter ... add unique
主鍵:一種***性索引,必須指定為primary key
3、全文索引:從3.23.23版開始支持全文索引和全文檢索,F(xiàn)ULLTEXT,
可以在char、varchar或text類型的列上創(chuàng)建。
4、單列索引、多列索引:
多個(gè)單列索引與單個(gè)多列索引的查詢效果不同,因?yàn)椋?/p>
執(zhí)行查詢時(shí),MySQL只能使用一個(gè)索引,會(huì)從多個(gè)索引中選擇一個(gè)限制最為嚴(yán)格的索引。
5、最左前綴(Leftmost Prefixing):多列索引,例如:fname_lname_age索引,以下的搜索條件MySQL都將使用
fname_lname_age索引:firstname,lastname,age;firstname,lastname;firstname,其他情況將不使用。
二、根據(jù)sql查詢語(yǔ)句確定創(chuàng)建哪種類型的索引,如何優(yōu)化查詢
選擇索引列:
a.性能優(yōu)化過(guò)程中,選擇在哪個(gè)列上創(chuàng)建索引是最重要的步驟之一??梢钥紤]使用索引的主要有
兩種類型的列:在where子句中出現(xiàn)的列,在join子句中出現(xiàn)的列。
b.考慮列中值的分布,索引的列的基數(shù)越大,索引的效果越好。
c.使用短索引,如果對(duì)字符串列進(jìn)行索引,應(yīng)該指定一個(gè)前綴長(zhǎng)度,可節(jié)省大量索引空間,提升查詢速度。
d.利用最左前綴
e.不要過(guò)度索引,只保持所需的索引。每個(gè)額外的索引都要占用額外的磁盤空間,并降低寫操作的性能。
在修改表的內(nèi)容時(shí),索引必須進(jìn)行更新,有時(shí)可能需要重構(gòu),因此,索引越多,所花的時(shí)間越長(zhǎng)。
MySQL只對(duì)一下操作符才使用索引:<,<=,=,>,>=,between,in,
以及某些時(shí)候的like(不以通配符%或_開頭的情形)。
【編輯推薦】
- SQL Server置疑數(shù)據(jù)庫(kù)解決方法
- SQL Server 2008的升級(jí)與部署
- 淺談配置SQL Server遠(yuǎn)程備份的方法
分享標(biāo)題:MySQL索引分類和各自用途
網(wǎng)頁(yè)網(wǎng)址:http://m.fisionsoft.com.cn/article/djcgech.html


咨詢
建站咨詢
