索引的优缺点:

         优点:提高程序效率.

         缺点:增加,删除慢,索引文件需要更新,增加内存

添加索引字段

         要尽量避免全表扫描,首先应考虑在 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.尽量使用表变量来代替临时表。如果表变量包含大量数据,请注意索引非常有限(只有主键索引)。