mysql navicat 组合索引_Navicat设置MySQL索引+MySQL索引知识
引用:
https://www.cnblogs.com/bypp/p/7755307.html
https://blog.csdn.net/resilient/article/details/82829820
查看當前MySQL存儲引擎:
mysql> show engines;
教程:https://www.cnblogs.com/zhming26/p/6322353.html
#0 Navicat操作位置:
#1 索引種類:
1. Fulltext 全文本搜索索引:用于搜索長篇文章。
2. Unique 唯一索引:
主鍵索引:primary key :加速查找+約束(不為空且唯一)
唯一索引:unique:加速查找+約束 (唯一)
3. 聯合索引:
-primary key(id,name):聯合主鍵索引
-unique(id,name):聯合唯一索引
-index(id,name):聯合普通索引
4. Normal 普通索引:加快搜索。
5. Spatial 空間索引。
#2 索引功能
1. 加快搜索;
2.?mysql中的primary key,unique,聯合唯一也都是索引,這些索引除了加速查找以外,還有約束的功能
#3?索引的兩大類型hash與btree
#我們可以在創建上述索引的時候,為其指定索引類型,分兩類
hash類型的索引:查詢單條快,范圍查詢慢
btree類型的索引:b+樹,層數越多,數據量指數級增長(我們就用它,因為innodb默認支持它)
#不同的存儲引擎支持的索引類型也不一樣
InnoDB 支持事務,支持行級別鎖定,支持 B-tree、Full-text 等索引,不支持 Hash 索引;
MyISAM 不支持事務,支持表級別鎖定,支持 B-tree、Full-text 等索引,不支持 Hash 索引;
Memory 不支持事務,支持表級別鎖定,支持 B-tree、Hash 等索引,不支持 Full-text 索引;
NDB 支持事務,支持行級別鎖定,支持 Hash 索引,不支持 B-tree、Full-text 等索引;
Archive 不支持事務,支持表級別鎖定,不支持 B-tree、Hash、Full-text 等索引;
1)索引方法 btree? 可以用于“ >、
2)hash 不能做order by排序 不能做 用like模糊查詢。
#4?慢查詢優化的基本步驟
0.先運行看看是否真的很慢,注意設置SQL_NO_CACHE
1.where條件單表查,鎖定最小返回記錄表。這句話的意思是把查詢語句的where都應用到表中返回的記錄數最小的表開始查起,單表每個字段分別查詢,看哪個字段的區分度最高
2.explain查看執行計劃,是否與1預期一致(從鎖定記錄較少的表開始查詢)
3.order by limit 形式的sql語句讓排序的表優先查
4.了解業務方使用場景
5.加索引時參照建索引的幾大原則
6.觀察結果,不符合預期繼續從0分析
-
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的mysql navicat 组合索引_Navicat设置MySQL索引+MySQL索引知识的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在mysql中创建表的命令行_如何在命令
- 下一篇: jquery 流程图_使用 JQuery