在mysql中使用索引的原則有以下幾點:
1、 對於查詢頻率高的字段建立索引;
2、 對排序、分組、聯合查詢頻率高的字段建立索引;
3、 索引的數目不宜太多
原因:a、每建立乙個索引都會占用相應的物理控制項;
b、過多的索引會導致insert、update、delete語句的執行效率降低;
4、若在實際中,需要將多個列設定索引時,可以採用多列索引
如:某個表(假設表名為student),存在多個字段(studentno, studentname, ***, address, phone, birthdate),其中需要對studentno,studentname欄位進行查詢,對***字段進行分組,對birthdate欄位進行排序,此時可以建立多列索引
index index_name (studentno, studentname, ***, birthdate); #index_name為索引名
在上面的語句中只建立了乙個索引,但是對4個字段都賦予了索引的功能。
建立多列索引,需要遵循btree型別,
即第一列使用時,才啟用索引。
在上面的建立語句中,只有mysql語句在使用到studentno欄位時,索引才會被啟用。
如: select * from student where studentno = 1000; #使用到了studentno欄位,索引被啟用。
可以使用explain檢測索引是否被啟用
如:explain select * from student where studentno = 1000;
5、選擇唯一性索引
唯一性索引的值是唯一的,可以更快速的通過該索引來確定某條記錄。例如,學生表中學號是具有唯一性的字段。為該字段建立唯一性索引可以很快的確定某個學生的資訊。如果使用姓名的話,可能存在同名現象,從而降低查詢速度。
6、盡量使用資料量少的索引
如果索引的值很長,那麼查詢的速度會受到影響。例如,對乙個char(100)型別的字段進行全文檢索需要的時間肯定要比對char(10)型別的字段需要的時間要多。
7、盡量使用字首來索引
如果索引欄位的值很長,最好使用值的字首來索引。例如,text和blog型別的字段,進行全文檢索會很浪費時間。如果只檢索欄位的前面的若干個字元,這樣可以提高檢索速度。
8、刪除不再使用或者很少使用的索引.
表中的資料被大量更新,或者資料的使用方式被改變後,原有的一些索引可能不再需要。資料庫管理員應當定期找出這些索引,將它們刪除,從而減少索引對更新操作的影響
MySQL理解索引 新增索引的原則
mysql理解索引 新增索引的原則 索引用於快速找出在某個列中有一特定值的行。不使用索引,mysql必須從第1條記錄開始然後讀完整個表直到找出相關的行,還需要考慮每次讀入資料頁的io開銷。而如果採取索引,則可以根據索引指向的頁以及記錄在頁中的位置,迅速地讀取目標頁進而獲取目標記錄。大多數情況下都 預...
Hibernate使用索引及索引新增原則
1 表上加索引 table name t s user indexes public class user 2 關聯表上加索引 試驗點 用於資料許可權控制 manytomany fetch fetchmode.subselect jointable name t s user triallocati...
mysql 新增索引
mysql索引原理 1.新增primary key 主鍵索引 mysql alter table table name add primary key column 2.新增unique 唯一索引 mysql alter table table name add unique column 3.新增...