InnoDB 支持ACID事務,支持事務的四種隔離級別,串行化,可重復讀,讀已提交,讀未提交。
支持行級鎖以及外檢約束:所以可以支持寫並發。
不存儲總行數。
逐漸索引采用聚集索引,索引的數據域存儲數據文件本身。
關鍵是用索引
添加適當的索引,可以簡化查詢,將查詢轉變為 排好序的快速查詢數據結構
在數據庫中,除了數據之外,還存在着一種數據結構,這種數據結構以某種方式引用或者叫做指向數據,這樣可以在這些數據結構上實現高級查找算法,這樣的數據結構就算索引,可以理解為字典的目錄。
但是一般來說,索引本身也會很大,是不可能全部存儲在內存中的,所以索引通常是以索引文件的方式存在磁盤上,我們平時說的索引,時指B樹 BalanceTree多路平衡查找樹。
索引分為 單值索引,唯一索引,復合索引,通常用的時復合索引,像建立一張表一樣,用create Index 索引名 on 表名(索引列,索引列),要刪除用drop ,查看用show
想要查看有沒有用到索引的話,可以使用explain+sql語句,里面有10個字段,其中id字段就是看語句執行優先級的,數字越大說明優先級越高,相同的數字按照從上往下的順序執行,type字段可以看到sql語句的優化程度,總共12個類型。System>const>eq_ref>ref>range>index>all,通常優化到ref range就夠了
索引的優缺點:
優點:
- 通過創建唯一性索引,可以保證數據庫表中每一行數據的唯一性
- 大大加快數據的檢索速度
- 加快表與表之間的連接
- 可以減少分組和排序的時間
- 使用優化隱藏器,提高系統性能
缺點:
- 創建和維護索引需要時間,而且這種時間會隨着數據量的增加而增加
- 索引需要占用物理空間
- 對表數據進行增刪改的時候,索引也要動態的維護,降低了數據維護速度