4.3 数据库高级

3.1 数据类型





3.2 数据库优化

  1. 对查询进行优化,要尽量避免全表扫描,首先应考虑在where及order by涉及的列上建立索引
  2. 尽量避免在 where子句中对字段进行null值判断,否则将导致引擎放弃使用索引而进行全表扫描.最好不要给数据库留NULL,尽可能的使用NOT NULL填充数据库.备注、描述、评论之类的可以设置为 NULL,其他的,最好不要使用NULL。
  3. 应尽量避免在 where 子句中使用 != 或 <> 操作符,否则引擎将放弃使用索引而进行全表扫描。
  4. 应尽量避免在 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'
  5. 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 是一个好的选择
posted @ 2021-04-25 22:40  芥纳须弥  阅读(39)  评论(0)    收藏  举报