当前位置: 首页 > news >正文

汉化主题做网站谷歌浏览器手机版下载

汉化主题做网站,谷歌浏览器手机版下载,廊坊网站建设联系青橙网络,长春疫情第二波最新消息昨天偶然看见一篇文章,提到说如果在mysql查询语句中,使用where 11会有性能问题?? 这着实把我吸引了,因为我项目中就有不少同事,包括我自己也有这样写的。为了不给其他人挖坑,赶紧学习一下&…

昨天偶然看见一篇文章,提到说如果在mysql查询语句中,使用where 1=1会有性能问题??

这着实把我吸引了,因为我项目中就有不少同事,包括我自己也有这样写的。为了不给其他人挖坑,赶紧学习一下,这样写sql到底有没有性能问题?

where 1=1的使用场景

我们来看下,where 1=1实际是怎么使用的, 先来看一段SQL

<select id="selectCmsCourseList" parameterType="java.util.Map" resultMap="CourseMap">SELECTa.id,a.category_id,a.model_id,b.*FROMcms_content aLEFT JOIN cms_course b ON a.id = b.idWHERE 1=1<if test="courseName != null and courseName != ''">AND b.course_name like concat(concat("%",#{courseName}),"%")</if><if test="disabled != null">AND a.disabled = #{disabled}</if><if test="categoryId != null">AND a.category_id = #{categoryId}</if>
</select>

如果用过mybatis的童鞋,看到这段代码应该很熟悉了吧,这里使用where 1=1的作用,就是为了方便后面的条件,能通过if判断,使用AND连接起来,这样即使后面if全部是false,没有参数,这个sql也不会报错。

where 1=1的替换方案

其实上面的这个写法,如果用mybatis,完全可以用where标签来替换,如:

<select id="selectCmsCourseList" parameterType="java.util.Map" resultMap="CourseMap">SELECTa.id,a.category_id,a.model_id,b.*FROMcms_content aLEFT JOIN cms_course b ON a.id = b.id<where><if test="courseName != null and courseName != ''">AND b.course_name like concat(concat("%",#{courseName}),"%")</if><if test="disabled != null">AND a.disabled = #{disabled}</if><if test="categoryId != null">AND a.category_id = #{categoryId}</if></where>
</select>

如果你使用了这个写法,就不存在1=1的问题了,所以也不用纠结,但本着打破砂锅问到底的精神,我们还是得探究一下使用1=1到底有没有性能问题

使用where 1=1有性能问题吗?

先来问问AI

可以看到,AI给到的答复是,基本没有性能问题,更多的是代码风格和可读性!

亲自检测

为了跟进一步测试,我们来写个SQL看看实际性能是否有差别

  1. explain select * from user;

  2. explain select * from user where 1=1;

  3. explain select * from user where id = 8;

  4. explain select * from user where 1=1 and id = 8;

可以看到示例1和示例2, 示例3和示例4,这两组写法,都是有个1=1的区别,但性能都是一样的,因此我们基本可以判定,这个写法,对性能是没有影响的。

总结

如果你在项目中也有使用where 1=1写的SQL,如果从可读性或者代码风格考虑,建议优化掉,但如果担心性能问题,则大可不必过多考虑~

http://www.fp688.cn/news/161306.html

相关文章:

  • 济南网站开发wuliankj平台外宣推广技巧
  • 佛山建网站定制有源码怎么搭建网站
  • 比特币网站做任务成人本科
  • 网站建设 流程网络推广都有什么方式
  • 台州做网站优化哪家好企拓客软件多少钱
  • 自己公司内网网站和外网怎么做同步交换友情链接的渠道有哪些
  • 重庆网站建设培训免费注册域名网站
  • 网站做众筹需哪些条件china东莞seo
  • 网站建设误区图交易平台官网
  • 有货 那样的网站怎么做网络营销企业是什么
  • dw做的网站设计技术培训班
  • 上海建溧建设集团有限公司网站百度网页版登录
  • 搭建网站免费广告联盟怎么赚钱
  • 数据库怎么做两个网站太原seo优化
  • 萝岗区网站建设推广浙江网络推广
  • 加强网站党建频道建设百度一下网页版浏览器
  • 省交通建设质安监督局网站优化网站标题是什么意思
  • 服务型政府门户网站建设网页怎么搜索关键词
  • 运输公司网站模板如何用html制作网页
  • 手机h5免费模板网站模板下载网站seo百度百科
  • 网站摇奖活动怎么做重庆网站排名提升
  • 自助网站免费注册站长之家网站介绍
  • 网站建设和利用情况网络销售平台有哪些软件
  • 网站内容建设苏州关键词搜索排名
  • 网站业务费如何做记账凭证软文营销常用的方式是什么
  • 九江网站建设九江百度seo关键词排名推荐
  • nas可做网站服务器吗海外营销公司
  • 做一个类似京东的网站免费发布推广的平台
  • 做网站用的一些素材什么平台可以发广告引流
  • 科普网站建设百度广告投放价格表