查询时,为了达到快速高效的目的,创建索引是一个很好的方法。
主键会在建表时自动创建索引。
其他的 需要创建索引的位置可以使用:
CREATE INDEX index_name ON table_name(column_name(length));
ALTER TABLE table_name ADD INDEX index_name (column_name(length) 。。。);//可以是多个
索引分为单列(例子一),多列(例子二)。
查找时会按照限制最严格的去查询,比如:
满足一个条件 肯定没有 两个条件都满足更加严格
SELECT * FROM tb_table WHERE id = 1;
SELECT * FROM tb_table WHERE id = 1 AND username = 'admin';
调试时,可以通过EXPLAIN 命令对要执行的语句进行查看,对语句进行优化
注意:尽量使用与表相同类型的数据类型进行查找,如
id int(11)
username varchar(255)
password varchar(255)
此时使用 EXPLAIN SELECT * FROM tb_t WHERE password=2;
此时的type 为all 全文查找,效率很低
使用 EXPLAIN SELECT * FROM tb_t WHERE password='2';
此时的type 为ref ,效率提升