佳木斯湛栽影视文化发展公司

主頁(yè) > 知識(shí)庫(kù) > mysql高級(jí)學(xué)習(xí)之索引的優(yōu)劣勢(shì)及規(guī)則使用

mysql高級(jí)學(xué)習(xí)之索引的優(yōu)劣勢(shì)及規(guī)則使用

熱門標(biāo)簽:鐵路電話系統(tǒng) 地方門戶網(wǎng)站 網(wǎng)站排名優(yōu)化 服務(wù)外包 呼叫中心市場(chǎng)需求 Linux服務(wù)器 AI電銷 百度競(jìng)價(jià)排名

一、索引的優(yōu)劣勢(shì)

優(yōu)點(diǎn):可以快速的檢索  、可以加快分組和排序

缺點(diǎn): 占用儲(chǔ)存空間、降低數(shù)據(jù)表的修改操作

二、索引的分類

主鍵索引 即主索引,根據(jù)主鍵 pk_clolum(length)建立索引,不允許重復(fù),不允許空值
唯一索引 用來建立索引的列的值必須是唯一的,允許空值
普通索引 用表中的普通列構(gòu)建的索引,沒有任何限制
全文索引 用大文本對(duì)象的列構(gòu)建的索引
全文索引 用大文本對(duì)象的列構(gòu)建的索引;
組合索引 用多個(gè)列組合構(gòu)建的索引,這多個(gè)列中的值不允許有空值。

三、使用索引的規(guī)則

1、適合建立索引的情況

  • 主鍵自動(dòng)建立唯一索引;
  • 經(jīng)常作為查詢條件在 WHERE 或者 ORDER BY 語(yǔ)句中出現(xiàn)的列要建立索引;
  • 作為排序的列要建立索引;
  • 查詢中與其他表關(guān)聯(lián)的字段,外鍵關(guān)系建立索引;
  • 高并發(fā)條件下傾向組合索引;
  • 用于聚合函數(shù)的列可以建立索引,例如使用了 max(column_1)或者count(column_1)時(shí)的 column_1 就需要建立索引。

2、不適合建立索引的情況

  • 經(jīng)常增刪改的列不要建立索引;
  • 有大量重復(fù)的列不建立索引;
  • 表記錄太少不要建立索引。

3、索引失靈的情況

  • 在組合索引中不能有列的值為 NULL,如果有,那么這一列對(duì)組合索引就是無效的;
  • LIKE 操作中,'%aaa%'不會(huì)使用索引,也就是索引會(huì)失效,但是‘a(chǎn)aa%'可以使用索引;
  • 在索引的列上使用表達(dá)式或者函數(shù)會(huì)使索引失效;
  • 在查詢條件中使用不等于,包括符號(hào)、>符號(hào)和!=會(huì)導(dǎo)致索引失效;
  • 在查詢條件中使用 IS NULL 或者 IS NOT NULL 會(huì)導(dǎo)致索引失效;
  • 字符串不加單引號(hào)會(huì)導(dǎo)致索引失效;
  • 在查詢條件中使用 OR 連接多個(gè)條件會(huì)導(dǎo)致索引失效,除非 OR 鏈接的每個(gè)條件都加上索引;
  • 如果排序的字段使用了索引,那么 select 的字段也要是索引字段,否則索引失效;
  • 盡量不要包括多列排序,如果一定要,最好為這隊(duì)列構(gòu)建組合索引。

四、關(guān)于索引的SQL

1、創(chuàng)建表的時(shí)候添加索引

-- 創(chuàng)建表的時(shí)候添加索引
-- INDEX 關(guān)鍵詞
-- myindex 索引的名稱自己起的
-- (username(16))添加到哪一個(gè)字段上
CREATE TABLE mytable(
 ID INT NOT NULL,
 username VARCHAR(16) NOT NULL,
 INDEX myindex (username(16))
);

2、創(chuàng)建表過后添加索引

-- 添加索引
-- myindex索引的名字(自己定義)
-- mytable 表的名字
CREATE INDEX myindex ON mytable(username(16));
或者
ALTER TABLE mytable ADD INDEX myindex(username);

3 查看索引

-- mytable 表的名字
 show index FROM mytable;

4、刪除索引

-- myindex索引的名字(自己定義)
-- mytable 表的名字
DROP INDEX myindex ON mytable;
或者
ALTER TABLE mytable DROP INDEX myindex;

總結(jié)

到此這篇關(guān)于mysql高級(jí)學(xué)習(xí)之索引的優(yōu)劣勢(shì)及規(guī)則使用的文章就介紹到這了,更多相關(guān)mysql高級(jí)索引內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • mysql 添加索引 mysql 如何創(chuàng)建索引
  • MySQL索引類型總結(jié)和使用技巧以及注意事項(xiàng)
  • MySQL查看、創(chuàng)建和刪除索引的方法
  • MySQL 創(chuàng)建索引(Create Index)的方法和語(yǔ)法結(jié)構(gòu)及例子
  • mysql性能優(yōu)化之索引優(yōu)化
  • Mysql索引會(huì)失效的幾種情況分析
  • MySQL 主鍵與索引的聯(lián)系與區(qū)別分析
  • 基于mysql全文索引的深入理解
  • 解決MySQL中IN子查詢會(huì)導(dǎo)致無法使用索引問題
  • MySQL 索引分析和優(yōu)化

標(biāo)簽:銅川 湖南 蘭州 湘潭 崇左 衡水 黃山 仙桃

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《mysql高級(jí)學(xué)習(xí)之索引的優(yōu)劣勢(shì)及規(guī)則使用》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    青河县| 仙桃市| 黔南| 马边| 永清县| 南城县| 临猗县| 三都| 红原县| 峨眉山市| 荣昌县| 无棣县| 科尔| 怀远县| 环江| 枝江市| 阳泉市| 凤阳县| 公安县| 个旧市| 黎川县| 开封市| 广宁县| 基隆市| 南涧| 锡林郭勒盟| 宁南县| 从江县| 织金县| 乐山市| 揭东县| 垫江县| 修武县| 东光县| 介休市| 博湖县| 达尔| 枣阳市| 顺义区| 青岛市| 依兰县|