欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

關(guān)于mysql的索引是怎樣的

本篇文章給大家分享的是有關(guān)關(guān)于MySQL的索引是怎樣的,小編覺得挺實用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

10年專注建站、設(shè)計、互聯(lián)網(wǎng)產(chǎn)品按需開發(fā)服務(wù),業(yè)務(wù)涵蓋成都品牌網(wǎng)站建設(shè)成都商城網(wǎng)站開發(fā)、微信小程序定制開發(fā)、軟件系統(tǒng)開發(fā)、重慶APP開發(fā)等。憑借多年豐富的經(jīng)驗,我們會仔細了解每個客戶的需求而做出多方面的分析、設(shè)計、整合,為客戶設(shè)計出具風(fēng)格及創(chuàng)意性的商業(yè)解決方案,成都創(chuàng)新互聯(lián)更提供一系列網(wǎng)站制作和網(wǎng)站推廣的服務(wù),以推動各中小企業(yè)全面信息數(shù)字化,并利用創(chuàng)新技術(shù)幫助各行業(yè)提升企業(yè)形象和運營效率。

一、mysql中的索引是什么?

索引在mysql中也叫做“鍵”,是mysql存儲引擎用于快速找到記錄的一種標記,索引對于提高查詢速度起到了非常關(guān)鍵的作用,當表中的數(shù)據(jù)量足夠大時,索引的作用愈發(fā)重要。

創(chuàng)建和維護索引,需要耗費很大的硬盤空間以及時間,但是可以大大的提高查詢速度。

二、在使用索引之前,你需要注意的。

  1. 盡可能的去使用一些簡單的數(shù)據(jù)類型,×××的數(shù)據(jù)類型比起字符串,處理開銷會小很多,因為字符串的比較更復(fù)雜。在MySQL中,應(yīng)該用內(nèi)置的日期和時間數(shù)據(jù)類型,而不是用字符串來存儲時間;以及用整型數(shù)據(jù)類型存儲IP地址。

  2. 盡量避免空值(NULL)推薦給每個字段都指定為not null(除非你想存儲NULL)在MySQL中,含有空值的列很難進行查詢優(yōu)化,因為它們使得索引、索引的統(tǒng)計信息以及比較運算更加復(fù)雜。你應(yīng)該用0、一個特殊的值或者一個空串代替空值。

  3. 不要過度使用索引。

  4. 查詢語句后面的where后面比較頻繁的條件,比較適合用索引。

  5. 值過于集中的字段,不推薦添加索引,即使加了也不會提高多少效率(比如性別:男/女)

  6. 切記不要在索引字段進行運算,例如:select * from users where YEAR(adddate)<2007,將在每個行上進行運算,這將導(dǎo)致索引失效而進行全表掃描,因此我們可以改成:select * from users where adddate<’2007-01-01′。這一個單引號可能會造成mysql近百倍的性能損失。

三、mysql中常用的索引類型。

  1. 普通索引:最基本的索引類型,沒有任何的限制,僅僅加快查詢速度。(比較常用)

    MyIASM中默認的BTREE類型的索引,也是我們大多數(shù)情況下用到的索引。

    1.1直接創(chuàng)建一個索引:

    CREATE INDEX 索引名稱 ON 表名(字段名)

   1.2 在表結(jié)構(gòu)上直接創(chuàng)建索引:

    alter table 表名 add index/unique/fulltext[索引名](字段名)

   1.3  創(chuàng)建主鍵索引:

    alter table 表名 add primary  key (字段名)

   1.4 刪除一個索引:

    刪除一個非主鍵索引:

    alter table 表名 drop index 索引名;

    刪除主鍵索引:

    alter table 表名 drop primary key;

2.唯一索引(unique):字段內(nèi)的值不可以重復(fù)。

與普通索引類似,不同的就是:索引列的值必須唯一,但允許有空值(注意和主鍵不同)。如果是組合索引,則列值的組合必須唯一,創(chuàng)建方法和普通索引類似。

 3. 主鍵索引:字段內(nèi)的值不能重復(fù),雖然主鍵索引的字段不能有重復(fù),但是唯一索引不一定是主鍵。

在一張表上只能有一個主鍵,但是可以有多個唯一索引。

 4. 全文索引(full text):

FULLTEXT索引僅可用于 MyISAM 表;他們可以從CHAR、VARCHAR或TEXT列中作為CREATE TABLE語句的一部分被創(chuàng)建,或是隨后使用ALTER TABLE 或CREATE INDEX被添加。

將你的資料輸入一個沒有FULLTEXT索引的表中,然后創(chuàng)建索引,其速度比把資料輸入現(xiàn)有FULLTEXT索引的速度更為快。不過切記對于大容量的數(shù)據(jù)表,生成全文索引是一個非常消耗時間非常消耗硬盤空間的做法。

–創(chuàng)建表的適合添加全文索引

CREATE TABLE `table` (

`id` int(11) NOT NULL AUTO_INCREMENT ,

`title` char(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,

`content` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL ,

`time` int(10) NULL DEFAULT NULL ,

PRIMARY KEY (`id`),

FULLTEXT (content)

);

–修改表結(jié)構(gòu)添加全文索引

ALTER TABLE article ADD FULLTEXT index_content(content)

–直接創(chuàng)建索引

CREATE FULLTEXT INDEX index_content ON article(content)

5.多列索引:

多個單列索引與單個多列索引的查詢效果不同,因為執(zhí)行查詢時,MySQL只能使用一個索引,會從多個索引中選擇一個限制最為嚴格的索引。(個人認為,多列索引沒有單列索引查詢效率高)。

以上就是關(guān)于mysql的索引是怎樣的,小編相信有部分知識點可能是我們?nèi)粘9ぷ鲿姷交蛴玫降摹OM隳芡ㄟ^這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

新聞標題:關(guān)于mysql的索引是怎樣的
標題來源:http://www.chinadenli.net/article4/gpdcie.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊營銷型網(wǎng)站建設(shè)建站公司外貿(mào)建站靜態(tài)網(wǎng)站網(wǎng)站建設(shè)

廣告

聲明:本網(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è)公司