4.3 数据库高级
3.1 数据类型





3.2 数据库优化
- 对查询进行优化,要尽量避免全表扫描,首先应考虑在where及order by涉及的列上建立索引
- 应尽量避免在 where子句中对字段进行null值判断,否则将导致引擎放弃使用索引而进行全表扫描.最好不要给数据库留NULL,尽可能的使用NOT NULL填充数据库.备注、描述、评论之类的可以设置为 NULL,其他的,最好不要使用NULL。
- 应尽量避免在 where 子句中使用 != 或 <> 操作符,否则引擎将放弃使用索引而进行全表扫描。
- 应尽量避免在 where 子句中使用 or 来连接条件,如果一个字段有索引,一个字段没有索引,将导致引擎放弃使用索引而进行全表扫描,如
select id from t where num=10 or Name = 'admin'
可以这样查询
select id from t where num = 10 union all select id from t where Name = 'admin' - in 和 not in 也要慎用,否则会导致全表扫描,如:
select id from t where num in(1,2,3)
对于连续的数值,能用 between就不要用 in 了:select id from t where num between 1 and 3
很多时候用 exists 代替 in 是一个好的选择
welcome~the interesting soul

浙公网安备 33010602011771号