日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

MySQL數據庫索引原理及優化策略

瀏覽:340日期:2023-05-05 10:12:01
目錄
  • 1 索引
    • 索引概念
    • 索引作用
    • 索引的使用場景
  • 2 索引分類
    • B樹索引和B+樹索引區別
  • 3 索引操作
    • 創建主鍵索引
    • 唯一索引的創建
    • 普通索引的創建
    • 查詢索引
    • 刪除索引
    • 索引創建原則

1 索引

索引概念

索引是一種特殊的文件,包含著對數據表里所有記錄的引用指針。可以對表中的一列或多列創建索引,并指定索引的類型,各類索引有各自的數據結構實現。

索引作用

數據庫中的表、數據、索引之間的關系,類似于書架上的圖書、書籍內容和書籍目錄的關系,索引所起的作用類似書籍目錄,可用于快速定位、檢索數據。索引可以極大地提高數據庫的性能。

索引的使用場景

要考慮對數據庫表的某列或某幾列創建索引,需要考慮以下幾點:

  • 數據量較大,且經常對這些列進行條件查詢。
  • 該數據庫表的插入操作,及對這些列的修改操作頻率較低。
  • 索引會占用額外的磁盤空間。

2 索引分類

  • 從索引存儲結構劃分:BTree索引、Hash索引、FULLTEXT全文索引、RTree索引
  • 從應用層次劃分:普通索引,唯一索引,主鍵索引,復合索引
  • 從索引鍵值類型劃分,主鍵索引,輔助索引(二級索引)
  • 從數據存儲和索引鍵值邏輯關系劃分:聚集索引(聚簇索引)非聚集泰引(非聚簇索)
  • 從索引列數量劃分:單列索引,復合索引

B樹索引和B+樹索引區別

區別:

數據的保存位置不同:B+樹保存在葉子節點,B樹保存在所有的節點中

體現出B+樹優勢:節點不存儲data,這樣一個節點就可以存儲更多的key。可以使得樹更矮,所以IO操作次數更少。 查詢性能穩定:每次查詢都是從根節點遍歷到葉子節點,查詢路徑長度相同,即每次查詢效率相當,時間復雜度固定是O(log(n))

葉子節點的指向:B+樹相鄰的葉子節點通過指針相連,B樹沒有

體現出B+樹優勢:所有葉子節點形成有序鏈表,便于范圍查找

3 索引操作

創建主鍵索引

-- 在創建表的時候,直接在字段名后指定 primary keycreate table user1(id int primary key, name varchar(30));-- 在創建表的最后,指定某列或某幾列為主鍵索引create table user2(id int, name varchar(30), primary key(id));-- 創建表以后再添加主鍵create table user3(id int, name varchar(30));alter table user3 add primary key(id);

主鍵索引的特點:

  • 一個表中,最多有一個主鍵索引,當然可以使符合主鍵
  • 主鍵索引的效率高(主鍵不可重復)
  • 創建主鍵索引的列,它的值不能為null,且不能重復
  • 主鍵索引的列基本上是int

唯一索引的創建

-- 在表定義時,在某列后直接指定unique唯一屬性。create table user4(id int primary key, name varchar(30) unique);-- 創建表時,在表的后面指定某列或某幾列為uniquecreate table user5(id int primary key, name varchar(30), unique(name));-- 創建表以后再添加uniquecreate table user6(id int primary key, name varchar(30));alter table user6 add unique(name);

唯一索引的特點:

  • 一個表中,可以有多個唯一索引
  • 查詢效率高
  • 如果在某一列建立唯一索引,必須保證這列不能有重復數據
  • 如果一個唯一索引上指定not null,等價于主鍵索引

普通索引的創建

--在表的定義最后,指定某列為索引create table user8(id int primary key,name varchar(20),email varchar(30),index(name));--創建完表以后指定某列為普通索引create table user9(id int primary key, name varchar(20), email varchar(30));alter table user9 add index(name); -- 創建一個索引名為 idx_name 的索引create table user10(id int primary key, name varchar(20), email varchar(30));create index idx_name on user10(name);

普通索引的特點:

  • 一個表中可以有多個普通索引,普通索引在實際開發中用的比較多
  • 如果某列需要創建索引,但是該列有重復的值,那么我們就應該使用普通索引

查詢索引

  • show keys from 表名

mysql> show keys from goods\G
*********** 1. row ***********
Table: goods <= 表名
Non_unique: 0 <= 0表示唯一索引
Key_name: PRIMARY <= 主鍵索引
Seq_in_index: 1
Column_name: goods_id <= 索引在哪列
Collation: A
Cardinality: 0
Sub_part: NULL
Packed: NULL
Null:
Index_type: BTREE <= 以二叉樹形式的索引
Comment:
1 row in set (0.00 sec)

  • show index from 表名;
  • desc 表名

刪除索引

  • 刪除主鍵索引: alter table 表名 drop primary key;
  • 其他索引的刪除: alter table 表名 drop index 索引名; 索引名就是show keys from 表名中的Key_name 字段
mysql> alter table user10 drop index idx_name;
  • drop index 索引名 on 表名
mysql> drop index name on user8

索引創建原則

  • 比較頻繁作為查詢條件的字段應該創建索引
  • 唯一性太差的字段不適合單獨創建索引,即使頻繁作為查詢條件
  • 更新非常頻繁的字段不適合作創建索引
  • 不會出現在where子句中的字段不該創建索引

到此這篇關于MySQL數據庫索引原理及優化策略的文章就介紹到這了,更多相關MySQL數據庫索引內容請搜索以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持!

標簽: MySQL
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
91久久精品无嫩草影院| 亚洲欧美网站| 日本精品国产| 日本亚洲最大的色成网站www | 奇米777国产一区国产二区| 亚洲一区二区日韩| 色8久久久久| 国产欧美日韩在线观看视频| 久久精品97| 国产一区二区三区网| 色一区二区三区| 久久精品中文| 日韩一区二区中文| 亚洲欧美伊人| 蜜桃一区二区三区在线观看| 在线视频亚洲欧美中文| 婷婷成人av| 日韩久久99| 久久精品国产99国产| 久久精品国语| 蜜臀av亚洲一区中文字幕| 日本一区二区三区视频在线看| 欧美一区二区三区久久| 久久精品国产99| 美女毛片一区二区三区四区| 蜜臀精品一区二区三区在线观看 | 美女日韩在线中文字幕| 日韩精品中文字幕吗一区二区| 国产麻豆一区二区三区 | 欧美午夜精品一区二区三区电影| 蜜桃一区二区三区| 亚洲最新av| 国产精品白浆| 久久久久国产精品一区三寸| 日韩影院在线观看| 欧美激情一区| 欧美日韩国产一区二区三区不卡| 亚洲精品无播放器在线播放| 国内一区二区三区| 99在线精品免费视频九九视| 欧美影院视频| 日韩欧美一区二区三区在线观看 | 欧美日韩一区二区三区视频播放| 亚洲欧美日韩国产一区二区| 久久国内精品| 日韩欧美午夜| 男女男精品视频网| 精品资源在线| av不卡免费看| 久久精品二区亚洲w码| 欧美精品一区二区久久| 国产精品一线| 欧美日韩国产综合网| 国产美女久久| 在线视频精品| 欧美激情三区| 午夜在线一区二区| 成人日韩av| 亚洲大全视频| 国产精品成人3p一区二区三区| 韩国三级一区| 欧美午夜三级| 在线 亚洲欧美在线综合一区| 国产麻豆精品| 六月丁香综合| 少妇精品导航| 欧美激情 亚洲a∨综合| 亚洲免费影视| 岛国av在线网站| 日韩精品三级| 国产综合激情| 国产欧美视频在线| 六月天综合网| 久久久久99| 麻豆精品新av中文字幕| 亚洲在线电影| 极品av在线| 欧美日韩一视频区二区| 国产偷自视频区视频一区二区| 精品三级av| 日韩高清在线不卡| 欧美日韩国产传媒| 高潮一区二区| 国产精品一区二区三区www| 国产美女一区| 亚洲日本网址| 国产精品成久久久久| 国产日韩在线观看视频| 黄色欧美日韩| 日韩成人高清| 精品一区二区三区在线观看视频 | 久久激情五月婷婷| 丝瓜av网站精品一区二区| 亚洲91视频| 亚洲黄色中文字幕| 久久精品国产久精国产爱| 奇米亚洲欧美| 亚洲精品欧洲| 综合色就爱涩涩涩综合婷婷| 在线观看免费一区二区| 不卡一二三区| 精品久久电影| 精品三区视频| 精品一区视频| 精品视频91| 久久亚洲人体| 美女在线视频一区| 国产极品模特精品一二| 欧美日韩xxxx| 日韩成人精品一区二区三区| 蜜臀av在线播放一区二区三区| 制服诱惑一区二区| 欧美福利一区| 99综合视频| 国产亚洲网站| 在线国产一区| 91精品观看| 制服诱惑一区二区| 亚洲女同一区| 亚洲欧美日本国产专区一区| 在线视频精品| 免费成人性网站| 一本综合精品| 日韩高清不卡一区二区| 日韩欧美2区| 欧美一区激情| 免费一级欧美在线观看视频| 欧美精品99| 成人午夜亚洲| 欧美二三四区| 日韩精品免费一区二区在线观看| 国产亚洲一区二区手机在线观看| 亚洲91精品| 黄色av一区| 亚洲欧洲专区| 久久精品凹凸全集| 久久久久97| 日韩一区二区三区免费播放| 欧美日韩一二| 中文日韩欧美| 亚洲欧洲日韩| 久久不见久久见免费视频7| 美女久久精品| 中文字幕人成乱码在线观看 | 日本亚洲欧美天堂免费| 国产精品自拍区| 成人在线黄色| 亚洲手机视频| 亚洲一区二区免费在线观看| 日本v片在线高清不卡在线观看| 国产精品中文字幕制服诱惑| 国产 日韩 欧美 综合 一区| 欧洲av不卡| 99国产精品久久久久久久| 亚洲在线久久| 久久99蜜桃| 久久久久免费av| 天堂成人国产精品一区| 日本午夜免费一区二区| 国产不卡精品| 99国产一区| 欧美激情一区| 欧美日韩在线观看视频小说| 亚洲区国产区| 韩日一区二区| 夜夜嗨一区二区| 欧美日本不卡| 久久久久国产一区二区| 亚洲欧洲美洲国产香蕉| 精品免费av| 国产一区91| 国产精品www994| 日韩av福利| 亚洲一二av| 精品中文在线| 亚洲一区欧美二区| 嫩草伊人久久精品少妇av杨幂| 国产一区二区三区自拍| 青青国产精品| 99久久精品费精品国产| 天堂va欧美ⅴa亚洲va一国产| 久久精品日韩欧美| 伊人久久亚洲影院| 国产精品亚洲欧美一级在线| 久久免费黄色| 欧美一区久久| 婷婷色综合网| 美女在线视频一区| 一区福利视频| 久久久久亚洲精品中文字幕| 亚洲激情偷拍| 精品日韩一区| 亚洲人成网77777色在线播放 | 日韩欧美综合| 欧美日本久久| 羞羞答答国产精品www一本| 国产一区二区三区不卡av| 先锋影音国产一区| 日韩大片在线观看| 国产精品永久|