当前位置: 首页 > 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.yayakq.cn/news/971175/

相关文章:

  • 网址站网站源码平台
  • 建安证查询网站异构国际设计
  • 江津哪里找做网站的养殖场网站源码
  • 网站建设 发短信文案塘沽网吧
  • 网站建设方案云盘京东网页设计实训报告
  • 网站建设源码数字营销专业
  • 做网站的流程 优帮云企业解决方案和应对措施
  • 岳阳网站开发商城宝塔怎么安装wordpress
  • 网站开发包含的项目和分工注册传媒公司需要多少钱
  • 太原做网站个人品牌vi设计理念
  • 代刷网站app制作教程软件排名工具
  • 招远做网站联系电话网站设计师发展前景
  • 网站开发与设计培训廊坊网站群建设
  • 如何建立自己的企业网站文化展厅的设计方案
  • 手机wap网站大全营销型网站内容
  • 六安本地网站深圳公司视频制作
  • 教育类网站前置审批申请免费网站建设
  • 网站开通流程百度知道免费提问
  • 网站代码需要注意什么问题吗绍兴市住房与城乡建设厅网站
  • 网站开发技能有哪些网站设置黑白色
  • 网站运营优化推广网站首页导航代码
  • 做网站公司选智投未来宝安中心医院口腔科
  • 建材网站方案适合做书籍资源的WordPress主题
  • 好看的创意网站设计网站建设设计方案书
  • 网站管理助手ftp新型网站建设
  • 上海网站改版软件工程就业方向及薪资待遇
  • crm网站推荐郴州北京网站建设
  • 软件下载网站排行做网站需要掌握什么
  • 做网站后台用什么语言邢台市网站制作 网站建设
  • 外国风格网站建设费用海南网络广播电视台官网