温故知新-sql笔记1

  • 最佳实践

1.sql语句中逗号放在下一句开头而非句子结尾

 

  • 关于NULL

ANSI_NULL为ON时,比较NULL值不能用<> NULL,用 is not NULL

 

  • where语句

1.contains 只对设置全文检索的列有效

2.操作符顺序 not and or

3.索引 not条件中不会用到索引,or条件中所有条件都索引或者都不索引

4.like条件中 '_'代表一个字符 '[]'匹配一系列字符 [abcd] [a,b,c,d] [a-d] '^'排除字符 [^a-d]

5.like中通配符查询不适用索引

6.between and 包含边界值

 

  • Join

1.default join type :inner join

2.outer join: left right full

3.CROSS JOIN又称为笛卡尔乘积,实际上是把两个表乘起来

 

  • group by

1.CHECKSUM_AGG和ROLLUP CUBE GROUPING SETS不兼容

2.结果中返回列较多时,避免实用with cube,提高性能

3.groupping set 和union all 多个group by 效果相同,更加简洁

4.where和having性能比较注意不同情况

posted @ 2010-06-27 17:49  lib  阅读(161)  评论(0编辑  收藏  举报