使用組合索引注意事項

2021-09-08 12:45:08 字數 611 閱讀 1068

一:索引的概念

索引:在對錶需要進行查詢或者排序操作時,可以對錶中某個或者某幾個字段新增索引,對

乙個字段新增索引就是單個索引,對多個字段新增索引時就是組合索引。

create index  a_index on a(id,custname); 

給表a的id、custname欄位建立組合索引,組合索引對查詢條件是單個字段或者兩個字段

都起作用,但是有些地方還是要注意:

select * from a where id > 1 and custname = 'tom';  -- 這種情況會走索引

select * from a where id > 1;  --  這種情況也會走索引,儘管只是使用了組合索引中乙個字段

但是下面的情況就不會走索引

select * from a where custname = 'tom';  --因為custname位於組合索引的第二個字段

二:建索引的不足

不能因為建索引可以提高查詢效率,就建立很多索引,建索引一方面要占用物理儲存空間,另一方面

在進行dml操作(插入、更新、刪除)時,會降低效率。

可以參考:

索引使用注意事項

1.索引不會包含有 null 值的列只要列中包含有 null 值都將不會被包含在索引中,復合索引中只要有一列含有 null 值,那麼這一列對於此復合索引就是無效的。所以我們在資料庫設計時不要讓字段的預設值為 null 應該用 0 乙個特殊的值或者乙個空串代替空值。2.復合索引 比如有一條語句是這樣的...

使用索引注意事項

新增dept 資料 create procedure insert dept in start int 10 in max num int 10 begin declare i int default 0 set autocommit 0 repeat set i i 1 insert into d...

mysql索引 使用注意事項

索引使用缺點 雖然索引大大提高了查詢速度,同時卻會降低更新表的速度,如對表進行insert,update和delete。因為更新表時,mysql不僅要儲存資料,還要儲存一下索引檔案 建立索引會占用磁碟空間的索引檔案。一般情況這個問題不太嚴重,但如果你在要給大表上建了多種組合索引,索引檔案會膨脹很寬 ...