数据库

 首页 > 数据库 > SqlServer > 优化SQL语句需要注意的4点

优化SQL语句需要注意的4点

分享到:
【字体:
导读:
         摘要: 1.尽量不要对列名进行函数处理。而是针对后面的值进行处理 例如where col1 = -5的效率比where -col1=5的效率要高 因为后面的条件对列值进行了计算。这样的条件下优化器无法使用索引 而是...

优化SQL语句需要注意的4点

  1.尽量不要对列名进行函数处理。而是针对后面的值进行处理

  例如where col1 = -5的效率比where -col1=5的效率要高

  因为后面的条件对列值进行了计算。这样的条件下优化器无法使用索引

  而是要针对所有值进行计算之后才能再比较

  2.尽量使用和数剧列一样的值进行操作

  如果col1是数值型

  那么例如where col1 = 2和where col1= ‘2′

  则前者效率更高

  因为比较字符和数值型的时候

  引擎需要把两者都转化成双精度然后进行比较

  3.减少函数的使用

  例如where col1 >= ‘2009-10-26′ and col1 <= ‘2009-10-27′

  和where datediff(day,col1,getdate())=0

  后者因为用到函数处理。所以col1上的索引又无法使用了

  4.尽量不要用OR

  一般对于OR的条件

  优化器一般会使用全表扫描

 

优化SQL语句需要注意的4点
分享到:
为SQL Server数据库传数组参数的变通办法
为SQL Server数据库传数组参数的变通办法  最近一直在做Dnn模块的开发,过程中碰到这么一个问题,需要同时插入N条数据,不想在程序里控制,但是SQL Sever又不支持数组参数.所以只能用变通的办法了.利用SQL Server强大的字符串处理传把数组格式化为类似"1,2,3,4,5,6"。   然后在存储过程中用SubString配合CharIndex把分割开来...
SQL SERVER 2005中全新的OUTPUT子句添加...
SQL SERVER 2005中全新的OUTPUT子句添加数据记录详解   也许大家在数据库开发的时候,会发现这样一个现象:添加数据记录后想查看其结果都必须通过select表达式来查询实现。一定都要多此一举才可以看到被添加的数据记录吗?答案是否定的。SQL SERVER 2005新提供的OUTPUT子句就帮您解决这个难题,它以比触发器更简洁的方式,...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……