国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 數(shù)據(jù)庫(kù) > MySQL > 正文

mysql索引使用技巧及注意事項(xiàng)

2024-07-24 12:52:08
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

一.索引的作用

一般的應(yīng)用系統(tǒng),讀寫比例在10:1左右,而且插入操作和一般的更新操作很少出現(xiàn)性能問(wèn)題,遇到最多的,也是最容易出問(wèn)題的,還是一些復(fù)雜的查詢操作,所以查詢語(yǔ)句的優(yōu)化顯然是重中之重。

在數(shù)據(jù)量和訪問(wèn)量不大的情況下,mysql訪問(wèn)是非常快的,是否加索引對(duì)訪問(wèn)影響不大。但是當(dāng)數(shù)據(jù)量和訪問(wèn)量劇增的時(shí)候,就會(huì)發(fā)現(xiàn)mysql變慢,甚至down掉,這就必須要考慮優(yōu)化sql了,給數(shù)據(jù)庫(kù)建立正確合理的索引,是mysql優(yōu)化的一個(gè)重要手段。 

索引的目的在于提高查詢效率,可以類比字典,如果要查“mysql”這個(gè)單詞,我們肯定需要定位到m字母,然后從下往下找到y(tǒng)字母,再找到剩下的sql。如果沒(méi)有索引,那么你可能需要把所有單詞看一遍才能找到你想要的。除了詞典,生活中隨處可見(jiàn)索引的例子,如火車站的車次表、圖書的目錄等。它們的原理都是一樣的,通過(guò)不斷的縮小想要獲得數(shù)據(jù)的范圍來(lái)篩選出最終想要的結(jié)果,同時(shí)把隨機(jī)的事件變成順序的事件,也就是我們總是通過(guò)同一種查找方式來(lái)鎖定數(shù)據(jù)。

在創(chuàng)建索引時(shí),需要考慮哪些列會(huì)用于 SQL 查詢,然后為這些列創(chuàng)建一個(gè)或多個(gè)索引。事實(shí)上,索引也是一種表,保存著主鍵或索引字段,以及一個(gè)能將每個(gè)記錄指向?qū)嶋H表的指針。數(shù)據(jù)庫(kù)用戶是看不到索引的,它們只是用來(lái)加速查詢的。數(shù)據(jù)庫(kù)搜索引擎使用索引來(lái)快速定位記錄。

INSERT 與 UPDATE 語(yǔ)句在擁有索引的表中執(zhí)行會(huì)花費(fèi)更多的時(shí)間,而SELECT 語(yǔ)句卻會(huì)執(zhí)行得更快。這是因?yàn)椋谶M(jìn)行插入或更新時(shí),數(shù)據(jù)庫(kù)也需要插入或更新索引值。

二.索引的創(chuàng)建、刪除

索引的類型:

    UNIQUE(唯一索引):不可以出現(xiàn)相同的值,可以有NULL值 INDEX(普通索引):允許出現(xiàn)相同的索引內(nèi)容 PROMARY KEY(主鍵索引):不允許出現(xiàn)相同的值 fulltext index(全文索引):可以針對(duì)值中的某個(gè)單詞,但效率確實(shí)不敢恭維 組合索引:實(shí)質(zhì)上是將多個(gè)字段建到一個(gè)索引里,列值的組合必須唯一

    (1)使用ALTER TABLE語(yǔ)句創(chuàng)建索性

    應(yīng)用于表創(chuàng)建完畢之后再添加。

    ALTER TABLE 表名 ADD 索引類型 (unique,primary key,fulltext,index)[索引名](字段名)
    //普通索引alter table table_name add index index_name (column_list) ;//唯一索引alter table table_name add unique (column_list) ;//主鍵索引alter table table_name add primary key (column_list) ;

    ALTER TABLE可用于創(chuàng)建普通索引、UNIQUE索引和PRIMARY KEY索引3種索引格式,table_name是要增加索引的表名,column_list指出對(duì)哪些列進(jìn)行索引,多列時(shí)各列之間用逗號(hào)分隔。索引名index_name可選,缺省時(shí),MySQL將根據(jù)第一個(gè)索引列賦一個(gè)名稱。另外,ALTER TABLE允許在單個(gè)語(yǔ)句中更改多個(gè)表,因此可以同時(shí)創(chuàng)建多個(gè)索引。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 灵武市| 兴化市| 洛隆县| 拉萨市| 三穗县| 怀宁县| 双峰县| 台州市| 虎林市| 泰顺县| 赤城县| 淮滨县| 满洲里市| 西青区| 南靖县| 封丘县| 临夏县| 托里县| 民勤县| 普定县| 阜南县| 礼泉县| 丹棱县| 嘉善县| 河南省| 晋中市| 长汀县| 钟祥市| 疏附县| 土默特右旗| 常熟市| 尼玛县| 双桥区| 莲花县| 湟源县| 金秀| 黔江区| 加查县| 咸阳市| 乐都县| 临沧市|