如何写出高效的SQL

----start

    要想写出高效的SQL语句需要掌握一些基本原则,如果你违反了这些原则,一般情况下SQL的性能将会很差。

 

一:减少数据库访问次数

    连接数据库是非常耗时的,虽然应用程序会采用连接池技术,但与数据库交互依然很耗时,这就要求我们尽量用一条语句干完所有的事,尤其要避免把SQL语句写在循环中,如果你遇到这样的人,应该毫不犹豫给他两个耳光。

二:避免在有索引的字段上使用函数

    在索引字段上使用函数会使索引失效,我们可以通过其他方式避免使用函数,如:尽量避免在SQL语句的WHERE子句中使用函数

三:避免在SQL语句中使用过程逻辑

    通常开发人员思考问题喜欢采用过程逻辑,而SQL语句操作的对象是集合,所以写SQL语句时时刻提醒自己不要采用过程逻辑,否则会写出非常拙劣的SQL。

四:采用乐观式SQL

    通常,开发人员写程序时会先判断参数的有效性,然后执行一定的操作,而在访问数据库时,可以先执行SQL,然后,判断影响的行数,这样可以减少和数据库的交互。

五:将排序操作放到最后

    排序操作非常耗时,通常,我们应该把所有不必要的记录都剔除后在进行排序操作,如果能不排序,尽量不要排序。

----待续

 

----更多参见:DB2 SQL 精萃

----声明:转载请注明出处。

----last updated on 2009.12.5

----written by ShangBo on 2009.12.5

----end

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值