最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2023年02月15日 10:47:20   作者:忠忠  
大家應該都知道索引的建立對于MySQL數(shù)據(jù)庫的高效運行是很重要的,索引可以大大提升MySQL的檢索速度,下面這篇文章主要給大家介紹了關于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)建索引,下面提供一個設置索引長度的例子:

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(*),表示字段不重復的比例,比例越大我們掃描的記錄數(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ù)表中的字段值,但進行檢索時,需要把所有元素都應用函數(shù)才能比較,顯然成本太大。所以語句應該寫成create_time = unix_timestamp(’2014-05-29’);

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

總結

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

相關文章

  • MySql中特殊運算符的使用方法總結

    MySql中特殊運算符的使用方法總結

    這篇文章主要給大家介紹了關于MySql中特殊運算符的使用方法,分別介紹的是<=> 安全比較運算符、:= 賦值的作用、@ 用戶變量以及@@ 系統(tǒng)變量,文中介紹的非常詳細,需要的朋友可以參考下
    2018-09-09
  • MySQL InnoDB中意向鎖的作用及原理

    MySQL InnoDB中意向鎖的作用及原理

    意向鎖是由InnoDB在操作數(shù)據(jù)之前自動加的,本文主要介紹了MySQL InnoDB中意向鎖的作用及原理,具有一定的參考價值,感興趣的可以了解一下
    2024-05-05
  • mysql如何判斷同一字段是否有重復數(shù)據(jù)

    mysql如何判斷同一字段是否有重復數(shù)據(jù)

    這篇文章主要介紹了mysql如何判斷同一字段是否有重復數(shù)據(jù)問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • mysql添加索引方法詳解(Navicat可視化加索引與sql語句加索引)

    mysql添加索引方法詳解(Navicat可視化加索引與sql語句加索引)

    索引用來快速地尋找那些具有特定值的記錄,如果沒有索引,執(zhí)行查詢時MySQL必須從第一個記錄開始掃描整個表的所有記錄,直至找到符合要求的記錄,表里面的記錄數(shù)量越多,代價就越高,下面這篇文章主要給大家介紹了關于mysql添加索引的相關資料,需要的朋友可以參考下
    2022-11-11
  • 淺析MySQL - MVCC

    淺析MySQL - MVCC

    這篇文章主要介紹了MySQL - MVCC的相關資料,幫助大家更好的理解和使用MySQL數(shù)據(jù)庫,感興趣的朋友可以了解下
    2020-11-11
  • MySQL數(shù)據(jù)庫node使用詳解

    MySQL數(shù)據(jù)庫node使用詳解

    這篇文章主要介紹了MySQL數(shù)據(jù)庫node使用,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-06-06
  • MySQL如何計算連續(xù)登錄天數(shù)

    MySQL如何計算連續(xù)登錄天數(shù)

    這篇文章主要介紹了MySQL如何計算連續(xù)登錄天數(shù),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • 詳解MySQL中WHERE子句的用法

    詳解MySQL中WHERE子句的用法

    這篇文章主要介紹了詳解MySQL中WHERE子句的用法,是MySQL入門學習中的基礎知識,需要的朋友可以參考下
    2015-05-05
  • Mysql中count(*)、count(1)、count(主鍵id)與count(字段)的區(qū)別

    Mysql中count(*)、count(1)、count(主鍵id)與count(字段)的區(qū)別

    本文主要介紹了Mysql中count(*)、count(1)、count(主鍵id)與count(字段)的區(qū)別,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-07-07
  • mysql鎖表和解鎖語句分享

    mysql鎖表和解鎖語句分享

    對于MySQL來說,有三種鎖的級別:頁級、表級、行級
    2011-09-09

最新評論

揭阳市| 扎鲁特旗| 乐昌市| 溆浦县| 大理市| 石棉县| 宜昌市| 株洲县| 明星| 巨野县| 桂林市| 奉贤区| 建瓯市| 芒康县| 大渡口区| 江达县| 淄博市| 英德市| 都江堰市| 湖州市| 夹江县| 荔浦县| 和政县| 永靖县| 比如县| 大方县| 洱源县| 溆浦县| 阜平县| 晋州市| 股票| 兰州市| 大关县| 都江堰市| 阜新| 资源县| 高陵县| 六枝特区| 本溪| 手游| 贞丰县|