久久久精品一区ed2k-女人被男人叉到高潮的视频-中文字幕乱码一区久久麻豆樱花-俄罗斯熟妇真实视频

mysql索引的相關(guān)知識(shí)

下文內(nèi)容主要給大家?guī)?lái)MySQL索引的相關(guān)知識(shí),所講到的知識(shí),與書籍略有不同,都是創(chuàng)新互聯(lián)專業(yè)技術(shù)人員在與用戶接觸過(guò)程中,總結(jié)出來(lái)的,具有一定的經(jīng)驗(yàn)分享價(jià)值,希望給廣大讀者帶來(lái)幫助。

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來(lái)自于我們對(duì)這個(gè)行業(yè)的熱愛(ài)。我們立志把好的技術(shù)通過(guò)有效、簡(jiǎn)單的方式提供給客戶,將通過(guò)不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名與空間、虛擬空間、營(yíng)銷軟件、網(wǎng)站建設(shè)、臨縣網(wǎng)站維護(hù)、網(wǎng)站推廣。

我們先來(lái)了解MYSQL索引的概念:

       索引是一種特殊的文件,他們包含著對(duì)數(shù)據(jù)表里所有記錄的引用指針。更通俗地說(shuō),數(shù)據(jù)庫(kù)索引好比是是一本書前面的目錄,能加快數(shù)據(jù)庫(kù)的查詢速度,我們有了相應(yīng)的索引后,數(shù)據(jù)庫(kù)會(huì)直接在索引中查找符合條件的選項(xiàng)。索引分為聚簇索引和非聚簇索引兩種,聚簇索引是按照數(shù)據(jù)存放的物理位置為順序的,而非聚簇索引就不一樣了,聚簇索引能提高多行檢索的速度,而非聚簇索引對(duì)單行的檢索很快。

mysql索引的相關(guān)知識(shí)

mysql主要有兩種結(jié)構(gòu):B+樹和hash

        hash索引在mysql中較少用,它以把數(shù)據(jù)的索引以hash形式組織起來(lái),因此當(dāng)查找某一條記錄的時(shí)候,速度非???。因?yàn)槭莌ash結(jié)構(gòu),每個(gè)鍵只對(duì)應(yīng)一個(gè)值,而且是散列的方式分布,所以它并不支持范圍查找和排序等功能。

        B+樹:B+樹是mysql使用最頻繁的一個(gè)索引數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)結(jié)構(gòu)以平衡樹的形式來(lái)組織,因?yàn)槭菢湫谓Y(jié)構(gòu),所以更適合用來(lái)處理排序,范圍查找等功能。相對(duì)hash索引,B+樹在查找單條索引的速度上雖然比不上hash索引,但是因?yàn)楦m合排序等操作,所以更受用戶的歡迎。

MYSQL索引的類型:

  1. 普通索引:

             這是最基本的索引,它沒(méi)有任何限制,它有以下幾種創(chuàng)建方式:

       (1)創(chuàng)建索引:

                       CREATE INDEX indexName ON mytable(username(length));

        (2)修改表結(jié)果:

                       ALTER mytable ADD INDEX [indexName] ON (username(length))

                         CREATE TABLE mytable(   ID INT NOT NULL,    username VARCHAR(16) NOT NULL,   INDEX [indexName] (username(length))   ); 

                       刪除索引:

                        DROP INDEX index_name ON table

2.唯一索引:

          與前面的普通索引類似,不同的是:索引列的值必須唯一,但允許有空值,如果是組合索引,則列值的組合必須唯一。它有以下幾種創(chuàng)建方式:

          (1)創(chuàng)建索引:

                          CREATE UNIQUE INDEX indexname ON mytable(username(length))

           (2)修改表結(jié)構(gòu):

                           ALTER mytable ADD UNIQUE[indexName] ON(username(length))

            (3)創(chuàng)建表的時(shí)候直接指定:

                            CREATE TABLE mytable(ID INT NOT NULL,username VARCHAR(16) NOT NULL,UNIQUE [indexName](username(length)))

3.主鍵索引:

          這是一種特殊的唯一索引,不允許有空值,一般是在建表的時(shí)候,創(chuàng)建主鍵索引:

                 CREATE TABLE mytable (ID INT NOT NULL,username VARCHAR(16) NOT NULL,PRIMARY KEY(ID));

                  這里要注意,一個(gè)表只能有一個(gè)主鍵。

4.組合索引:

          為了形象對(duì)比單列索引和組合索引,為表添加多個(gè)字段:

                CREATE TABLE mytable(ID INT NOT NULL,username VARCHAR(16) NOT NULL,city VARCHAR(50) NOT NULL,age INT NOT NULL);

          為了進(jìn)一步榨取mysql的效率,就要考慮建立組合索引,就是將上面的name,city,age建到一個(gè)索引里:

                ALTER TABLE mytable ADD INDEX name_ciry_age(name(10),city,age)

          我們建表時(shí)username長(zhǎng)度為16,這里用10,這是因?yàn)橐话闱闆r下名字的長(zhǎng)度不會(huì)超過(guò)10,這樣會(huì)加速索引查找速度,還會(huì)減少索引文件的大小,提高insert的更新速度。如果分別在username,city,age上建立單列索引,讓該表有3個(gè)單列索引,查詢時(shí)和上述的組合索引效率也會(huì)不打一樣,遠(yuǎn)遠(yuǎn)低于我們的組合索引。

 使用索引的注意事項(xiàng):

        1.索引不會(huì)包含有NULL值的列:只要列中包含有NULL值,都將不會(huì)被包含在mysql索引中,符合索引中只要有一列含有NULL值,那么這一列對(duì)于此復(fù)合索引就是無(wú)效的,所以我們?cè)跀?shù)據(jù)庫(kù)設(shè)計(jì)時(shí)不要讓字段的默認(rèn)值為NULL。

        2.使用短索引:對(duì)串列進(jìn)行索引,如果可能應(yīng)該指定一個(gè)前綴長(zhǎng)度。短索引不僅可以提高查詢速度,而且可以節(jié)省磁盤空間和I/O操作。

        3.索引列排序:mysql查詢只使用一個(gè)索引,因此如果where子句中已經(jīng)使用了索引的話,,那么order by中的列是不會(huì)使用索引的。因此數(shù)據(jù)庫(kù)默認(rèn)排序可以符合要求的情況下,不要使用排序操作,盡量不要包含多個(gè)列的排序操作,如果需要最好給這些列創(chuàng)建復(fù)合索引。

        4.不要在列上進(jìn)行運(yùn)算,這將導(dǎo)致索引失效而進(jìn)行全表掃描。

mysql各種索引區(qū)別:

       普通索引:最基本的索引,沒(méi)有任何限制;

       唯一索引:與普通索引類似,不同的是,索引列的值必須唯一,但允許有空值;

       主鍵索引:它是一種特殊的唯一索引,不允許有空值;

       全文索引:僅可用于MYISAM表,針對(duì)較大的數(shù)據(jù),生成全文索引,很耗時(shí)耗空間;

       組合索引:為了更高的提高mysql效率可建立組合索引,遵循“最左前綴”原則。

對(duì)于以上關(guān)于mysql索引的相關(guān)知識(shí),如果大家還有更多需要了解的可以持續(xù)關(guān)注我們創(chuàng)新互聯(lián)的行業(yè)推新,如需獲取專業(yè)解答,可在官網(wǎng)聯(lián)系售前售后的,希望該文章可給大家?guī)?lái)一定的知識(shí)更新。

分享標(biāo)題:mysql索引的相關(guān)知識(shí)
網(wǎng)頁(yè)網(wǎng)址:http://sd-ha.com/article48/ghdeep.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標(biāo)簽優(yōu)化做網(wǎng)站、Google、微信小程序、網(wǎng)站內(nèi)鏈App設(shè)計(jì)

廣告

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

小程序開發(fā)