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

  • 相关阅读:
    softmax in pytorch
    python使用xlrd读取excel数据
    redis集群扩容(添加新节点)
    redis集群添加新节点
    重新创建redis集群的注意事项
    在三台服务器,搭建redis三主三从集群
    UI自动化测试工具Airtest/Poco
    单个机器部署redis集群模式(一键部署脚本)
    内置函数二
    内置函数一
  • 原文地址:https://www.cnblogs.com/dudu-java/p/5711608.html
Copyright © 2011-2022 走看看