idea內建資料庫DataGrip + 索引

椰子灰發表於2024-07-20

建立索引前後搜尋速度差別

一般是在建立表的時候建立索引,但表裡又資料之後也可以建立,且索引值只需要建立一次

-- 為資料庫表tb_emp的name欄位建立名為idx_emp_name的索引
create index idx_emp_name on tb_emp(name);
-- 查詢索引
show index from tb_emp;
-- 刪除索引
drop index idx_emp_name on tb_emp;

查詢結果

其中第一條為建立的 primary key的索引

其中第二條為建立的 unique的索引

其中第三條為建立的 外來鍵的索引

其中第四條為剛剛建立的索引

優點:

  1.提供資料查詢的效率,降低資料庫io成本

  2.透過索引對資料庫進行排序,降低資料排序成本,降低cup消耗

缺點:

  1.索引回佔用空間(但其實佔不了多少且限制本身儲存空間也不小)

  2.索引提供查詢效率,但回假想敵增刪改的效率(實際企業中查詢頻次比增刪改多得多)

MySQL的索引結構比較多,但通常情況下指的是  b+tree

特點:

  1.每一個節點可以儲存對各key(有n個key,就有n個指標。樹一般在三到四層)

  2.所有資料都儲存在葉子節點,非葉子節點僅用於索引資料

  3.葉子節點形成雙向連結串列,便於資料的排序以及區間範圍的查詢

相關文章