索引的相關操作
1.查看索引
show index from 表名;
2.創建索引
create index 索引名字 on 表名(列名);
?創建索引,是一個危險操作
創建索引的時候,需要針對現有的數據,進行大規模的重新整理
如果當前表是一個空表,或者數據不多,創建索引都沒啥問題
如果這個表本來就很大,創建索引,也很容易就把數據庫服務器給卡住
一般來說,創建索引,都是在創建表的時候就規劃好的~~一旦表已經使用了很久了,有很多數據了再想修改索引,就要慎重了
非得創建也不是不行,就需要使用一些其他的技巧
一個做法:另外搞一個機器,部署mysql服務器,也創建同樣的表,并且把表上的索引創建好,再把之前的機器的數據給導入到新的MySQL服務器上(導入數據的過程就可以控制節奏)多花點時間導數據,不要影響到原來服務器正常的運轉
當所有數據都導入完畢,就可以使用新的數據庫,替換舊的數據庫了
3.刪除索引
drop index 索引名
?手動創建的索引,可以手動刪除
如果是自動創建的索引(主鍵/外鍵,unique),不能刪除的!!
刪除索引操作也是一個危險操作,數據庫和數據 實在是太重要了
索引背后的原理
索引也是通過一定的數據結構來實現的