索引的优缺点:
优点:提高程序效率.
缺点:增加,删除慢,索引文件需要更新,增加内存
添加索引字段
要尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。
索引优化
1.避免在 where 子句中对字段进行 null 值判断
select 字段名 from 表名 where num is null;
最好使用 NOT NULL 填充数据库
2.避免在 where 子句中使用 != 或 <> 操作符,否则将引擎放弃使用索引而进行全表扫描。
3.避免在 where 子句中使用 or 来连接条件,必须两个字段都有索引才会使用索引.
4.使用like 模糊查询 ‘%abc%’ 也不会使用索引
5.避免where子句中使用参数, 对字段进行表达式操作, 对字段进行函数操作都会导致引擎放弃使用索引而进行全表扫描
6.创建组合索引
ALTER TABLE 表名称 ADD INDEX 索引名称(字段名1,字段名2);
组合索引 单独查询 字段名2 不会使用索引
7.查询量比较大,使用缓存 分表分页
8.对于多张大数据量的表 JOIN,要先分页再 JOIN。
9.select count(*) from table;这样不带任何条件的 count 会引起全表扫描,并且没有任何业务意义,是一定要杜绝的。
10.任何地方都不要使用 select * from t ,用具体的字段列表代替“*”,不要返回用不到的任何字段。
11.尽量使用表变量来代替临时表。如果表变量包含大量数据,请注意索引非常有限(只有主键索引)。