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注入时非常有用。

  • 相关阅读:
    memory consistency
    网页基础
    ECC
    RSA
    argparse模块
    009-MySQL循环while、repeat、loop使用
    001-mac搭建Python开发环境、Anaconda、zsh兼容
    013-在 Shell 脚本中调用另一个 Shell 脚本的三种方式
    012-Shell 提示确认(Y / N,YES / NO)
    014-docker-终端获取 docker 容器(container)的 ip 地址
  • 原文地址:https://www.cnblogs.com/dudu-java/p/5711608.html
Copyright © 2011-2022 走看看