使用索引注意事項

2021-10-01 05:20:44 字數 1056 閱讀 7146

新增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 dept values ((start+i),rand_string(10),rand_string(8));

until i =max_num

end repeat;

commit;

end執行

call insert_dept(100,10);

建立主鍵索引

alter table 表名 add primary key (列名);

建立乙個聯合索引

alter table dept add index my_ind (dname,loc); //  dname 左邊的列,loc就是右邊的列

注意:1.對於建立的多列索引,如果不是使用第一部分,則不會建立索引。

explain select * from dept where loc='aaa'\g

就不會使用到索引

2.模糊查詢在like前面有百分號開頭會失效。

3. 如果條件中有or,即使其中有條件帶索引也不會使用。換言之,就是要求使用的所有字段,都必須建立索引, 我們建議大家盡量避免使用or 關鍵字

4.如果列型別是字串,那一定要在條件中將資料使用引號引用起來。否則不使用索引。(新增時,字串必須』』), 也就是,如果列是字串型別,就一定要用 『』 把他包括起來.

5.如果mysql估計使用全表掃瞄要比使用索引快,則不使用索引。

show status like 『handler_read%』;

handler_read_rnd_next:這個值越高,說明查詢低效。

索引使用注意事項

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

mysql索引 使用注意事項

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

使用組合索引注意事項

一 索引的概念 索引 在對錶需要進行查詢或者排序操作時,可以對錶中某個或者某幾個字段新增索引,對 乙個字段新增索引就是單個索引,對多個字段新增索引時就是組合索引。create index a index on a id,custname 給表a的id custname欄位建立組合索引,組合索引對查詢...