商务服务
【mysql】一次有意思的数据库查询分析。
2024-11-11 09:47

本文是在做一家汽车配件的电商网站时,大体情景是一个List.php页面,该页面分页列出部分配件并统计总数量用于分页。

【mysql】一次有意思的数据库查询分析。

当然该页面中也可以指定一下查询条件,如适配的车辆品牌、车系、排量、年份等,一件商品可能适配多种车辆。

所以建了个这么个表:

goods_chexings表

列名依次为:车辆厂牌id,车系id,排量id,车型id(该车型的说法不太规范,客户给的数据里边就叫车型,就这么将就着用了,实际是年份的字符串如哪年开始到哪年结束),配件的id(该id源于good表)。

车辆厂牌id,车系id,排量id,车型id存在着层级关系,层级为:车辆厂牌id -> 车系id ->  排量id -> 车型id,表这么建算是为了方便查找吧,有时候只指定到厂牌或者车系,让你列出来适配的配件。

。。。冗余,冗余哈,查找方便。

 

上PHP后端代码哈:

查找时候的where子句:

 

 

然后select的主体

 大体说下goods表和goods_chexings表的数量级:goods几千条,goods_chexings几万条。

 

但是List.php页面,如果什么条件都不指定的话,Waiting Time大约得10s,亮了。。。。

如果随便指定个车系、厂牌啥的,Waiting Time大约也就零点几秒的,也亮了。。。。

 

补充一下,goods_chexings表上有索引的。。。。

 

看到这能猜到时间差距为啥那么大了吧。。。。不指定查询条件时join goods_chexings根本就没用,只查询goods表就行了。

没指定查询条件 goods_chexings表上有索引根本就不起作用,全表扫描。。。。

 

修改后的查询:

 

 

备注:写统配的sql语句写习惯了,不管查询的时候起不起作用,可能使用到的表先from或者join了,

  如果出现要查询的条件时就加在where子句里边。。。。。引起的索引不起作用,全表扫描了。

 

    以上就是本篇文章【【mysql】一次有意思的数据库查询分析。】的全部内容了,欢迎阅览 ! 文章地址:http://www78564.xrbh.cn/news/27083.html 
     文章      相关文章      动态      同类文章      热门文章      栏目首页      网站地图      返回首页 迅博思语移动站 http://www78564.xrbh.cn/mobile/ , 查看更多   
最新文章
WordPress企业主题制作(定制)应该注意哪些事项?
选择制作方是首要关键的一个环节,几年前那种百度几百元买的网站,现在几百元又套在WordPress上作为企业主题,能用吗?能,但是基本是
Win10连接wifi显示“无Internet,安全”的解决方法【详解】
  电脑升级到 win10 64位系统 后难免会遇到一些故障问题,比如连接WiFi网络无线的时候都会出现无Internet,安全的提示,怎么办
TCLAI应用助力经济增长 2024年创效5.4亿元
在2024TCL全球技术创新大会上,TCL宣布通过AI技术应用,创造经济效益达5.4亿元,引发业界广泛关注。此次大会于12月11日在深圳举
如何通过SEO分享提升网站流量与排名
关键词是SEO的基础,也是提升排名的关键因素之一。通过深入的关键词分析,找出与自己业务相关且有较高搜索量的关键词,然后合理
企业互联网营销必备《SEO攻略》
原标题:企业互联网营销必备《SEO攻略》 从这里了解互联网 解读热点 推送营销新思维 自从我们千享科技推出SEO推广业务以来,收到
如何找到可靠的100个免费软件下载安装入口必备神器助你畅享互联时代!
如何找到可靠的免费软件下载安装入口在互联网时代,软件已经成为我们日常生活和工作中不可或缺的一部分。然而,寻找可靠的免费软
收获颇丰!黄金白银期货保证金(为投资者提供一个全面的理解框架)
黄金白银期货,作为全球金融市场中的重要组成部分,以其独特的避险属性和投资价值,吸引了无数投资者的目光。而在这一市场中,保
acfan 软件下载最新版
acfan软件下载最新版是一款非常火爆的动漫视频播放软件,这款软件里面为用户们提供了丰富多样的资源,在观看的时候,用户们还能
从收录检测到安全防护的SEO工具大全
总是有朋友问我们,有没一套较为完整的SEO所需工具大全,省得找来找去了,今天我们就给大家带来从收录到安全的SEO工具大全! 综
曝明年多家手机厂商将测试北斗通信 华为领先一个身段
  虽然其他国产厂商也在积极研发相关技术,但它们目前尚未获得使用北斗卫星通信系统的批准。这些厂商主要使用的是天通卫星通信