Mysql索引的問題都給你總結好了

添加索引

1. 給經常作為where/order by/group by後的字段添加索引

2. 減少使用子查詢

3. 多使用Limit, Limit可以減少傳輸的數據的大小

4. 減少多表聯查,設計表的時候,適度冗餘字段就可以減少表聯查。

5. 儘量不要在數據庫做運算,使用函數

6. 不要使用*號,只查需要的字段。可以減少傳輸的數據的大小。

7. 儘量根據索引來檢索數據

8. 不在核心業務中使用Like

9. 將區分度字段寫在where前面

索引

索引概念: 索引就像一本書的目錄,可以加快檢索數據的速度。

索引優點: 加快檢索速度

索引缺點:

1、 佔用磁盤空間

2、 導致寫速度變慢,因為每次插入新的數據的同時需要更新一下索引

索引是有成本,我們需要合理使用索引。

索引如何添加

a. 在建表的時候添加索引

例:

create table user(

id int auto_increment,

name varchar(50) not null,

pass varchar(255) not null,

primary key(id),

unique key(name),

key (pass)

);

b. 通過修改表結構添加索引

alter table user add 索引類型 索引名字(字段);

索引分類

普通索引、唯一索引、主鍵索引、全文索引(fulltext)

索引在什麼情況下失效

1. like會導致索引失效

like "%name" //失效的

like "name%" //不失效

2. 字段使用函數來修飾

例:select * from u1 where md5(name) = 'j'

3、 聯合索引中字段,將區分度較大的字段放大前面


分享到:


相關文章: