說說mysql的存儲引擎,有什么區別?索引的介紹


 

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就夠了

 

索引的優缺點:

優點:

  1. 通過創建唯一性索引,可以保證數據庫表中每一行數據的唯一性
  2. 大大加快數據的檢索速度
  3. 加快表與表之間的連接
  4. 可以減少分組和排序的時間
  5. 使用優化隱藏器,提高系統性能

缺點:

  1. 創建和維護索引需要時間,而且這種時間會隨着數據量的增加而增加
  2. 索引需要占用物理空間
  3. 對表數據進行增刪改的時候,索引也要動態的維護,降低了數據維護速度


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM