新增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欄位建立組合索引,組合索引對查詢...