什麼是索引
什麼是索引
索引可以簡單理解為是一種排好序的快速查詢資料結構
索引對於排序和條件有很大的影響
索引的優勢
1.提高資料檢索效率,降低資料庫io成本
2.降低資料排序的成本,降低cpu消耗
索引的劣勢
1.索引實際上也是一張表,儲存了主鍵與索引欄位,佔用空間
2.雖然提高了查詢速度,但更新表會修改資料和修改索引,會變慢
索引分類
單值索引:
一個索引只包含一個列,一個表可以有多個單值索引
唯一索引:
索引列的值必須唯一,但允許有空值
複合索引:
一個索引包含多個列
索引語法
建立:
create index 索引名 on 表名(欄位名)
alter 表名 add index 索引名 on(欄位名)
刪除:
drop index 索引名 on 表名
檢視:
show index from 表名
索引結構
1.BTree索引:
2.hash索引
哪些情況需要建立索引
1.主鍵自動建立唯一索引
2.頻繁作為查詢條件的欄位
3.外來鍵關係建立索引
4.推薦建立組合索引(組合索引要遵循最左原則)
5.統計或者分組欄位
哪些情況不要建立索引
1.表資料在300w一下不推薦
2.經常增刪改的表
3.資料重複平均的列
相關文章
- MySQL索引那些事:什麼是索引?為什麼加索引就查得快了?MySql索引
- mysql字首索引是什麼MySql索引
- 什麼是覆蓋索引?索引
- ElasticSearch 倒排索引(Inverted Index)| 什麼是倒排索引?Elasticsearch索引Index
- mysql唯一索引是什麼MySql索引
- Mysql系列第二十講 什麼是索引?MySql索引
- 什麼索引算是好的索引索引
- 為什麼我使用了索引,查詢還是慢?索引
- 是什麼影響了資料庫索引選型?資料庫索引
- 什麼情況下需要建立索引? 索引的作用?為什麼能夠提高查詢速度?(索引的原理) 索引有什麼副作用嗎?索引
- 什麼是行儲存和列儲存?正排索引和倒排索引?MySQL既不是倒排索引,也索引MySql
- 面試官:聊聊索引失效?失效的原因是什麼?面試索引
- Mysql索引資料結構為什麼是B+樹?MySql索引資料結構
- 資料庫索引是什麼?新華字典來幫你資料庫索引
- 我面試幾乎必問:你設計索引的原則是什麼?怎麼避免索引失效?面試索引
- 什麼是DNS,什麼是HostsDNS
- 這是什麼這是什麼
- 什麼是分而治之?什麼是WBS?
- 什麼是WebAuthn、FIDO 是什麼?Web
- 什麼是cookie,什麼是sessionCookieSession
- MYSQL索引為什麼這麼快?瞭解索引的神奇之處MySql索引
- ###什麼是Linux核心###什麼是MMULinux
- ITIL是什麼意思?ITIL是什麼?
- SNP全稱是什麼? SNP是什麼公司? SNP是什麼意思?
- [20220331]為什麼不使用索引.txt索引
- mysql為什麼加索引就能快MySql索引
- [20201203]為什麼不使用索引.txt索引
- 明明加了唯一索引,為什麼還是產生重複資料?索引
- 為什麼 SQL 語句使用了索引,但卻還是慢查詢?SQL索引
- 明明加了唯一索引,為什麼還是產生了重複資料?索引
- oracle全文索引之同步和優化索引做了什麼Oracle索引優化
- 人是什麼?人生是什麼?人為什麼會變?
- 什麼是正向代理?什麼是反向代理?
- NLA是什麼?NLA的原理是什麼?
- ftp是什麼,ftp是什麼東西?FTP
- Java是什麼_Java是做什麼的?Java
- 什麼是this
- 為什麼要有 Servlet ,什麼是 Servlet 容器,什麼是 Web 容器?ServletWeb