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

首頁 > 數據庫 > MySQL > 正文

MySQL進階篇 索引體系區分 B-Tree結構說明

2024-07-24 12:34:54
字體:
來源:轉載
供稿:網友
       MySQL進階篇 索引體系區分 B-Tree結構說明:

  一、索引簡介
  1、基本概念
  首先要明確索引是什么:索引是一種數據結構,數據結構是計算機存儲、組織數據的方式,是指相互之間存在一種或多種特定關系的數據元素的集合,例如:鏈表,堆棧,隊列,二叉樹等等。
 
  其次要清楚索引的作用:索引可以使存儲引擎快速找到數據記錄,這是最基本的作用,索引是對查詢速度最關鍵的影響,良好的索引設計可以使查詢的效率有質的飛越。
 
  索引的使用:如果查詢語句使用所有,MySQL會在索引的數據結構上查詢,如果查詢到,就返回包含該索引的數據行。
 
  2、索引的優點
  唯一或者主鍵索引,保證列數據的唯一性
  減少數據掃描量,快速查詢數據;
  數據有序的索引,可以將隨機IO變成順序IO;
  有效的索引查詢,可以避免排序和臨時表;
  3、索引分類
  索引的種類非常多,如何分類取決多個場景和不同的角度,常見的劃分如下:
 
  產生作用:主鍵索引,普通索引,非空索引,全文索引;
  覆蓋字段:單列索引,組合索引;
  數據結構:B-Tree索引,哈希索引,R-Tree索引;
  注意:索引的實現是在存儲引擎層面,相同的索引在不同的存儲引擎中,其實現方式可能都是不一樣的。
 
  二、索引用法詳解
  1、不同索引特點
  普通索引
 
  基本的索引,沒有任何使用限制,主要用來加速數據查詢。適合經常出現在查詢條件或排序條件中的數據列。
 
  主鍵索引
 
  特殊的唯一索引,不允許有空值,在建表的時候指定主鍵,就會創建主鍵索引,MySQL中最核心的索引,大量的業務數據都是基于主鍵查詢。
 
  唯一索引
 
  普通索引類似,不同的就是:索引列的值必須唯一,但允許有空值。如果是組合索引,則列值的組合必須是唯一性的。
 
  全文索引
 
  用于全文搜索,通過建立全文索引,基于分詞的查詢模式,可以極大的提升檢索效率。
 
  組合索引
 
  創建的索引覆蓋兩個或者兩個以上的列,適應組合查詢的場景,也常用于要素驗證的業務,例如判斷用戶身份ID,手機號,郵箱,是否為同一個用戶。
 
  2、管理索引語法
  基礎用戶表
 
  CREATE TABLE user_base (
      id INT (11) NOT NULL AUTO_INCREMENT COMMENT '主鍵ID',
      user_name VARCHAR (20) NOT NULL COMMENT '用戶名',
      phone VARCHAR (20) NOT NULL COMMENT '手機號',
      email VARCHAR (32) DEFAULT NULL COMMENT '郵箱',
      card_id VARCHAR (32) DEFAULT NULL COMMENT '身份編號',
      create_time datetime DEFAULT NULL COMMENT '創建時間',
      state INT (1) DEFAULT '1' COMMENT '是否可用,0-不可用,1-可用',
      PRIMARY KEY (`id`)
  ) ENGINE = INNODB DEFAULT CHARSET = utf8 COMMENT = '用戶基礎表';
  創建單列索引
 
  CREATE INDEX card_id_index ON user_base(card_id);
  修改添加索引
 
  ALTER TABLE user_base ADD INDEX state_index(state) ;
  創建組合索引
 
  CREATE INDEX bind_index ON user_base(phone,card_id);
  刪除索引
 
  DROP INDEX card_id_index ON user_base ;
  修改索引
 
  MySQL不支持真正修改索引的語法規范,可以通過刪除舊索引,添加新索引的方式進行操作。
 
  3、查詢索引
  分析MySQL查詢,多數情況下用來分析執行語句的SQL中是否使用索引,是否產生臨時表等性能相關問題。
 
  三、B-Tree索引結構
  1、B-Tree索引簡介
  MySQL官方比較推薦的索引結構類型,在實際的數據庫開發中,基于MySQL中的表結構,大部分使用的都是B-Three索引結構,即二叉樹的結構。

(編輯:武林網)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 兰考县| 屏东市| 常德市| 西平县| 隆化县| 文成县| 武清区| 勃利县| 天门市| 南安市| 志丹县| 隆林| 浦江县| 错那县| 吐鲁番市| 东海县| 方城县| 句容市| 逊克县| 呈贡县| 高安市| 莱西市| 翁牛特旗| 乌拉特前旗| 崇阳县| 宁陕县| 启东市| 桂平市| 瑞丽市| 娱乐| 丹凤县| 南部县| 定结县| 望谟县| 盐亭县| 神池县| 石首市| 苍梧县| 子长县| 临汾市| 津南区|