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

mysql創(chuàng)建索引的3種方法實例

 更新時間:2023年02月15日 10:47:20   作者:忠忠  
大家應(yīng)該都知道索引的建立對于MySQL數(shù)據(jù)庫的高效運行是很重要的,索引可以大大提升MySQL的檢索速度,下面這篇文章主要給大家介紹了關(guān)于mysql創(chuàng)建索引的3種方法,需要的朋友可以參考下

1、使用CREATE INDEX創(chuàng)建,語法如下:

CREATE?INDEX?indexName?ON?tableName?(columnName(length));

2、使用ALTER語句創(chuàng)建,語法如下:

ALTER?TABLE?tableName?ADD?INDEX?indexName(columnName);

ALTER語句創(chuàng)建索引,下面提供一個設(shè)置索引長度的例子:

ALTER TABLE t_user_action_log ADD INDEX ip_address_idx (ip_address(16));
 
SHOW INDEX FROM t_user_action_log;

3、建表的時候創(chuàng)建索引

CREATE TABLE tableName(  
  id INT NOT NULL,   
  columnName  columnType,
  INDEX [indexName] (columnName(length))  
);

 示例:

補充:MySql 創(chuàng)建索引原則

       1.最左前綴匹配原則,非常重要的原則,mysql會一直向右匹配直到遇到范圍查詢(>、<、between、like)就停止匹配,比如a = 1 and b = 2 and c > 3 and d = 4 如果建立(a,b,c,d)順序的索引,d是用不到索引的,如果建立(a,b,d,c)的索引則都可以用到,a,b,d的順序可以任意調(diào)整。

  2.=和in可以亂序,比如a = 1 and b = 2 and c = 3 建立(a,b,c)索引可以任意順序,mysql的查詢優(yōu)化器會幫你優(yōu)化成索引可以識別的形式

  3.盡量選擇區(qū)分度高的列作為索引,區(qū)分度的公式是count(distinct col)/count(*),表示字段不重復(fù)的比例,比例越大我們掃描的記錄數(shù)越少,唯一鍵的區(qū)分度是1,而一些狀態(tài)、性別字段可能在大數(shù)據(jù)面前區(qū)分度就是0,那可能有人會問,這個比例有什么經(jīng)驗值嗎?使用場景不同,這個值也很難確定,一般需要join的字段我們都要求是0.1以上,即平均1條掃描10條記錄

  4.索引列不能參與計算,保持列“干凈”,比如from_unixtime(create_time) = ’2014-05-29’就不能使用到索引,原因很簡單,b+樹中存的都是數(shù)據(jù)表中的字段值,但進行檢索時,需要把所有元素都應(yīng)用函數(shù)才能比較,顯然成本太大。所以語句應(yīng)該寫成create_time = unix_timestamp(’2014-05-29’);

  5.盡量的擴展索引,不要新建索引。比如表中已經(jīng)有a的索引,現(xiàn)在要加(a,b)的索引,那么只需要修改原來的索引即可

總結(jié)

到此這篇關(guān)于mysql創(chuàng)建索引的3種方法的文章就介紹到這了,更多相關(guān)mysql創(chuàng)建索引內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • centos 6.5下 mysql-community-server. 5.7.18-1.el6安裝

    centos 6.5下 mysql-community-server. 5.7.18-1.el6安裝

    這篇文章主要介紹了centos 6.5下 mysql-community-server. 5.7.18-1.el6安裝,需要的朋友可以參考下
    2017-04-04
  • MySQL配置文件my.ini全過程

    MySQL配置文件my.ini全過程

    這篇文章主要介紹了MySQL配置文件my.ini全過程,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • MYSQL的select 學(xué)習(xí)筆記

    MYSQL的select 學(xué)習(xí)筆記

    MYSQL的select 學(xué)習(xí)筆記...
    2007-02-02
  • MySQL時間差8小時的解決方案

    MySQL時間差8小時的解決方案

    本文介紹了在開發(fā)中遇到的時間問題,包括MySQL時間與系統(tǒng)時間不符、JDBC連接時區(qū)設(shè)置以及使用Jackson時可能出現(xiàn)的JSON時區(qū)問題,重點講解了如何修改MySQL時區(qū)、設(shè)置JDBC連接參數(shù)和調(diào)整JSON日期格式的時區(qū),需要的朋友可以參考下
    2024-07-07
  • Mysql數(shù)據(jù)庫錯誤代碼中文詳細說明

    Mysql數(shù)據(jù)庫錯誤代碼中文詳細說明

    在mysql開發(fā)中出現(xiàn)錯誤代碼各種各樣,下面我來給大家收集常用見的mysql使用過程中出錯代碼的中文說明,希望些文章對各位朋友有所幫助了
    2013-08-08
  • Mysql中的select ...for update

    Mysql中的select ...for update

    這篇文章主要介紹了Mysql中的select ...for update用法,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • MySQL優(yōu)化方案參考

    MySQL優(yōu)化方案參考

    今天小編就為大家分享一篇關(guān)于MySQL優(yōu)化方案參考,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-03-03
  • MYSQL 高級文本查詢之regexp_like和REGEXP詳解

    MYSQL 高級文本查詢之regexp_like和REGEXP詳解

    在MySQL中,regexp_like和REGEXP都是用于執(zhí)行正則表達式搜索的函數(shù),這篇文章主要介紹了MYSQL 高級文本查詢之regexp_like和REGEXP,需要的朋友可以參考下
    2023-05-05
  • MYSQL實現(xiàn)添加購物車時防止重復(fù)添加示例代碼

    MYSQL實現(xiàn)添加購物車時防止重復(fù)添加示例代碼

    在向mysql中插入數(shù)據(jù)的時候最需要注意的就是防止重復(fù)發(fā)添加數(shù)據(jù),下面這篇文章主要給大家介紹了關(guān)于MYSQL如何實現(xiàn)添加購物車的時候防止重復(fù)添加的相關(guān)資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-09-09
  • MYSQL 完全備份、主從復(fù)制、級聯(lián)復(fù)制、半同步小結(jié)

    MYSQL 完全備份、主從復(fù)制、級聯(lián)復(fù)制、半同步小結(jié)

    這篇文章主要介紹了MYSQL 完全備份、主從復(fù)制、級聯(lián)復(fù)制、半同步小結(jié),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-05-05

最新評論