zoukankan      html  css  js  c++  java
  • 备受SQL青睐的“1”

    写在前面:所用sql语句皆是在oracle 11g r1 数据库中实验。

    在sql书写中,经常会用到数字1,例如 count(1),select 1, where 1=1等等,这样做有何好处呢?下面我们就开始分析一下下······

    【count(1)】

    count(*) 和 count(1)常被大家做比较

    通过网络传言,初入领域的我也一直以为COUNT(1)比COUNT(*)的速度快。

    但是通过测试,发现二者执行计划相同,并且TOM KYTE也曾回答过这个问题,说二者相同,故大家切不可不经实验,轻信别人的“经验之谈”,实践出真知,并且技术是在不断发展的,昨天的定律,今天可能就不再适用了,最可靠的方法就是自己亲自去验证。

    一篇解释的很好的文章 http://www.cnblogs.com/Richardzhu/p/3419690.html

    【select 1】

    在exists 、 not exists 之后的子句中经常出现 select 1 from ······ 类似的语句

    网上说,select 1 效率高于 select * ,因为select 1 不用查字典。

    后来我自己查询了一下,发现两个语句的执行计划仍然是相同的,效率也相同,因为在exists里面并不会去实际读取字段里面的内容。

    【where 1=1】

    查询条件里 1=1 是一句废话,根本没有什么实际意义,但是为何有时候要写上这个条件呢?其目的主要是方便规范语句,在sql注入时非常有用。

  • 相关阅读:
    Invoice Helper
    Product Helper
    Order Helper
    Case Helper
    Quote Helper
    C# 工厂模式示例
    若今生长剑浣花,生死无涯
    古代美到窒息的谎言
    C#解决微信支付Exception has been thrown by the target of an invocation(调用的目标发生了异常)的问题
    文能提笔控萝莉,转载自网上
  • 原文地址:https://www.cnblogs.com/dudu-java/p/5711608.html
Copyright © 2011-2022 走看看