欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2021年03月11日 14:29:46   作者:m0_55886240  
這篇文章主要給大家介紹了關(guān)于mysql高級學(xué)習(xí)之索引的優(yōu)劣勢及規(guī)則使用的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

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

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

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

二、索引的分類

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

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

1、適合建立索引的情況

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

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

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

3、索引失靈的情況

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

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

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

-- 創(chuàng)建表的時候添加索引
-- INDEX 關(guān)鍵詞
-- myindex 索引的名稱自己起的
-- (username(16))添加到哪一個字段上
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高級學(xué)習(xí)之索引的優(yōu)劣勢及規(guī)則使用的文章就介紹到這了,更多相關(guān)mysql高級索引內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • MySQL 虛擬列和虛擬索引的實現(xiàn)

    MySQL 虛擬列和虛擬索引的實現(xiàn)

    虛擬列是MySQL 5.7開始引入的新特性,本文主要介紹了MySQL 虛擬列和虛擬索引的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-08-08
  • sql索引的介紹以及使用規(guī)則詳析

    sql索引的介紹以及使用規(guī)則詳析

    索引是一種數(shù)據(jù)結(jié)構(gòu),可以加快我們查詢的效率,但是創(chuàng)建索引需要復(fù)制數(shù)據(jù),會占用資源,下面這篇文章主要給大家介紹了關(guān)于sql索引的介紹以及使用規(guī)則的相關(guān)資料,需要的朋友可以參考下
    2023-04-04
  • MySQL分區(qū)之指定各分區(qū)路徑詳解

    MySQL分區(qū)之指定各分區(qū)路徑詳解

    mysql分區(qū)后每個分區(qū)成了獨立的文件,雖然從邏輯上還是一張表其實已經(jīng)分成了多張獨立的表,下面這篇文章主要給大家介紹了關(guān)于MySQL分區(qū)之指定各分區(qū)路徑的相關(guān)資料,需要的朋友可以參考下
    2022-04-04
  • 淺析mysql 共享表空間與獨享表空間以及他們之間的轉(zhuǎn)化

    淺析mysql 共享表空間與獨享表空間以及他們之間的轉(zhuǎn)化

    本篇文章是對mysql 共享表空間與獨享表空間以及他們之間的轉(zhuǎn)化進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • Linux下安裝MySQL5.7.19問題小結(jié)

    Linux下安裝MySQL5.7.19問題小結(jié)

    第一次在自己虛機上安裝mysql 中間碰到很多問題 在這里記下來,特此分享到腳本之家平臺供大家參考
    2017-08-08
  • Win7下mysql5.5安裝圖文教程

    Win7下mysql5.5安裝圖文教程

    這篇文章主要為大家詳細(xì)介紹了Win7下mysql5.5安裝的圖文教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • 解決MySQL數(shù)據(jù)庫意外崩潰導(dǎo)致表數(shù)據(jù)文件損壞無法啟動的問題

    解決MySQL數(shù)據(jù)庫意外崩潰導(dǎo)致表數(shù)據(jù)文件損壞無法啟動的問題

    這篇文章主要介紹了MySQL數(shù)據(jù)庫意外崩潰導(dǎo)致表數(shù)據(jù)文件損壞無法啟動的問題及解決方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-07-07
  • MySQL如何實現(xiàn)事務(wù)的ACID

    MySQL如何實現(xiàn)事務(wù)的ACID

    這篇文章主要介紹了MySQL如何實現(xiàn)事務(wù)的四大特性,幫助大家更好的理解和學(xué)習(xí)MySQL數(shù)據(jù)庫,感興趣的朋友可以了解下
    2020-09-09
  • 理解Mysql prepare預(yù)處理語句

    理解Mysql prepare預(yù)處理語句

    這篇文章主要幫助大家學(xué)習(xí)理解Mysql prepare預(yù)處理語句,對prepare預(yù)處理語句感興趣的小伙伴們可以參考一下
    2016-03-03
  • mysql 8.0.16 Win10 zip版本安裝配置圖文教程

    mysql 8.0.16 Win10 zip版本安裝配置圖文教程

    這篇文章主要為大家詳細(xì)介紹了mysql 8.0 Win10 zip版本安裝配置圖文教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-06-06

最新評論