mysql中where1=1是什么意思

技术mysql中where1=1是什么意思这篇文章主要介绍“mysql中where1=1是什么意思”,在日常操作中,相信很多人在mysql中where1=1是什么意思问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操

本文主要介绍“mysql中where1=1是什么意思”。在日常操作中,相信很多人对mysql中的why 1=1是什么意思有疑问。边肖查阅了各种资料,整理出简单易用的操作方法,希望能帮助大家解答“mysql中的why 1=1是什么意思”的疑惑!接下来,请和边肖一起学习!

00-1010我们先来看一段代码。

selectid=’ queryBookInfo ‘ parameter type=’ com . ths . platform . entity . bookinfo ‘ result type=’ Java . lang . integer ‘

从_booktwhere1=1中选择count(id)

iftest=’title!=nullandtitle!=”’

ANDtitle=#{title}

/if

iftest=’作者!=nullandauthor!=”’

ANDauthor=#{author}

/if

上面的代码/select很熟悉,就是查询符合条件的项目总数。在mybatis中,if标记判断where子句后的条件通常用于防止sql在第一个字段为空时报告错误。没错。当您遇到多个查询条件时,使用where 1=1可以轻松解决我们的条件为空的问题。那么这种写法有什么问题呢?

网上有很多人说这样会造成性能问题,可能会使索引无效。那么,让我们今天实际测量它,我们不取指数吗?

where 1=1

标题字段已经被索引,让我们通过EXPLAIN来看一下。

解释从t _ book中选择*其中title=’ and in the world

mysql中where1=1是什么意思

解释从t _ book中选择*其中1=1,title=’ and in the world

mysql中where1=1是什么意思

对比上面两种我们会发现 可以看到possible_keys(可能使用的索引) 和 key(实际使用的索引)都使用到了索引进行检索。

实测

where 1=1 也会走索引,不影响查询效率,我们写的sql指令会被mysql 进行解析优化成自己的处理指令,在这个过程中1 = 1这类无意义的条件将会被优化。使用explain EXTENDED sql 进行校对,发现确实where1=1这类条件会被mysql的优化器所优化掉。

然后我们可以改变mybatis中的编写方法,因为毕竟mysql优化器也需要时间。虽然是索引的,但是在有大量数据的时候还是会有影响,所以我们建议代码这样写:

selectid=’ queryBookInfo ‘ parameter type=’ com . ths . platform . entity . bookinfo ‘ result type=’ Java . lang . integer ‘

从_bookt中选择count(*)项

在哪里

iftest=’title!=nullandtitle!=”’

title=#{title}

/if

iftest=’作者!=nullandauthor!=”’

ANDauthor=#{author}

/if

/在哪里

/select我们改用where标记。

结论

MyBatis有一个简单且适合大多数场景的解决方案。在其他场景下,可以根据需要进行定制。这只需要一个简单的改变:

selectid=’ findActiveBlogLike ‘

结果类型=“博客”

从博客中选择*

在哪里

iftest=’state!=null

状态=#{state}

/if

iftest=’title!=null

和类似#{title}

/if

iftest=’作者!=nullandauthor.name!=null

ANDauthor _ name like # { author . name }

/if

/在哪里

/selectWHERE元素仅在子元素返回任何内容时插入“WHERE”子句。此外,如果子句以“AND”或“or”开头,where元素也将删除它们。

或者使用其中1=1。

至此,“mysql中的where1=1是什么意思”的研究结束,希望能解决大家的疑惑。理论和实践的结合可以帮助你学得更好。去试试吧!如果你想继续学习更多的相关知识,请继续关注网站,边肖会继续努力,给大家带来更多实用的文章!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/142168.html

(0)

相关推荐

  • 如何在Mac下搭建MySQL环境

    技术如何在Mac下搭建MySQL环境小编给大家分享一下如何在Mac下搭建MySQL环境,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧! 方法一:用dmg镜像安装1、安装官网下载

    攻略 2021年10月28日
  • xamarin开发安卓app教程(xamarin安卓移动开发视频教程)

    技术如何更改Xamarin Android App名称这篇文章将为大家详细讲解有关如何更改Xamarin Android App名称,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。更改X

    攻略 2021年12月21日
  • 高锰酸钾制取氧气化学式,高锰酸钾制取氧气怎么念

    技术高锰酸钾制取氧气化学式,高锰酸钾制取氧气怎么念高锰酸钾制取氧气化学方程式高锰酸钾制取氧气化学式:
    2KMnO4
    加热==K2MnO4+MnO2+O2↑
    高锰酸钾制取氧气步骤:
    1,装配实验装置(试管内的导管稍伸出胶塞

    生活 2021年10月26日
  • markdown语法

    技术markdown语法 markdown语法标题
    # 一级标题
    ## 二级标题
    ### 三级标题
    #### 四级标题
    ##### 五级标题
    ###### 六级标题注意 最多 6 级标题;而且 # 要和

    礼包 2021年12月10日
  • 怎样进行Java Socket通信客户端和服务器的代码介绍

    技术怎样进行Java Socket通信客户端和服务器的代码介绍今天就跟大家聊聊有关怎样进行Java Socket通信客户端和服务器的代码介绍,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根

    攻略 2021年11月21日
  • Hibernate有哪些优势

    技术Hibernate有哪些优势这篇文章主要为大家展示了“Hibernate有哪些优势”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Hibernate有哪些优势”这篇文章吧。

    攻略 2021年12月8日