2022年01月08日整理发布:解决SQL问题绝对能让你对MySQL的理解更进一步
给大家讲解一下解决SQL问题,一定会帮助大家进一步了解MySQL!相信朋友们也应该很关心这个话题。现在,我们来谈谈为你的朋友解决SQL问题,这一定会帮助你进一步了解MySQL!边肖还收集了关于解决SQL问题的信息,一定会让你进一步了解MySQL!我希望你看到后会喜欢。
SQL教程专栏介绍了如何更有效地理解MySQL。
推荐(免费):SQL教程
属性表(product_props)具有以下结构
数据量超过800瓦
字段名类型描述了idintidpn _ idint属性类型pv_idint属性值product_id ID,其中product _ ID与PN _ ID和PV _ ID是一对多的关系。像这样的数据:
Product_idpn_idpv_id109705(型号)135(苹果9)1097011(内存)23 (512G)1097010(颜色)17(本地金)109708(网络)6 (5g) 1098051351098011
数据量超过40W
段名类型描述product _ IDT product _ idtype _ IDT product类型idbrand _ IDT pland id model _ IDT product类型idstatustinyint状态数据类似于以下内容:
产品_ ID类型_ ID品牌_ ID型号_ ID状态109701(手机)1(苹果)1(Iphone8)1(普通)109801(手机)1(苹果)1(Iphone8X)3(已售)109811(手机)1(苹果)1 (iPhone 88
找出苹果9的型号和512G内存的产品总数,本地金的颜色和正常状态。ps :的属性条件可能超过10组。
性能第一,没有聚合功能等。
问题的原始解决方案性能排名
从@Kamicloud中选择现有方案
sql _ no _ cache `product _ id
从
` zx_tests` AS a
在哪里
` pn_id`=101和` pv_id`=59
和存在(选择
sql_no_cache *
从
` zx _ tests
在哪里
a.product_id=product_id和
` pn _ id `=101 AND ` PV _ id `=171);
2组条件下,0.6573组0.6954组0.7595组0.743(单独查属性表)。来自@Elijah_Wang的子查询方案从` product '中选择` product _ ID `,其中` PN _ ID`=5,` PV _ ID`=135和`。product _ id ` IN(SELECT ` product _ id ` FROM ` product ` WHERE ` pn _ id `=11和` PV _ id `=23);
0.7293组0.754组0.7305组0.757(新题前)新题后成绩排名情况下第2组
从PDI产品连接中选择SQL _ no _ cachecount (1(
挑选
不同的产品id
从
“产品_道具”
在哪里
` pn_id`=5
AND `pv_id`=127
和“产品_id”输入(从“产品_道具”中选择“产品_id”,其中“pn _ id ”=11和“PV _ id ”=22)
和“产品id”输入(从“产品道具”中选择“产品id”,其中“pn _ id ”=10和“PV _ id ”=18)
和“产品_id”输入(从“产品_道具”中选择“产品_id”,其中“pn _ id ”=8和“PV _ id ”=6)
和“产品标识”输入(从“产品道具”中选择“产品标识”
n_id` = 9 AND `pv_id` = 1 ) ) b on a.product_id = b.product_id where a.status = 1;耗时1.5-1.56 (执行10次的范围)
expain分析:耗时0.69-0.72(执行10次的范围)
explain分析:
耗时5.7-5.85 (执行10次的范围)
explain分析:耗时5.7-6.0(执行10次的范围)
explain分析:可以看到如果单纯查属性表第一位的速度是最快的可要查产品状态后速度反而不如子查询。
经explain分析第一个子查询速度之所以快是因为它的sql简单select_type皆为simple。
而不管是join还是exists的方式select_type大多为DERIVEDDEPENDENT SUBQUERY。
相关免费学习推荐:mysql视频教程
以上就是解决 SQL 问题绝对能让你对 MySQL 的理解更进一步!的详细内容!
来源:php中文网
免责声明:本文由用户上传,与本网站立场无关。财经信息仅供读者参考,并不构成投资建议。投资者据此操作,风险自担。 如有侵权请联系删除!
-
万象汽车试驾,轻松搞定试驾。只需几步,即可开启您的驾驶体验之旅。首先,通过官网或APP预约试驾时间,选择心...浏览全文>>
-
北汽瑞翔试驾流程主要包括以下几个步骤:首先,客户到达4S店后,由销售顾问接待并了解客户需求。随后,销售顾...浏览全文>>
-
试驾MG4 EV全攻略:MG4 EV是一款主打年轻、智能与续航的纯电车型。外观时尚,车身紧凑,适合城市通勤。内饰...浏览全文>>
-
预约试驾奥迪SQ5 Sportback,可线上与线下结合操作。首先,访问奥迪官网或官方APP,选择“试驾预约”,填写个...浏览全文>>
-
红旗试驾预约通常需要以下条件:1 年龄要求:申请人需年满18周岁,部分门店可能要求20岁以上。2 驾驶证...浏览全文>>
-
特斯拉试驾全攻略试驾特斯拉前,建议提前在官网预约,选择最近的体验中心。到店后,工作人员会引导你完成基础...浏览全文>>
-
宝马预约试驾全攻略想要体验宝马的驾驶乐趣?提前预约试驾是关键。首先,访问宝马官网或使用“宝马中国”官方A...浏览全文>>
-
道郎格试驾,感受豪华与科技的完美融合。一进入车内,高端质感扑面而来,真皮座椅、精致内饰,尽显奢华。智能...浏览全文>>
-
预约奇瑞新能源试驾,新手可按以下步骤操作:1 选择车型:登录奇瑞官网或官方App,浏览新能源车型,如艾瑞...浏览全文>>
-
奔驰GLE试驾预约,开启非凡旅程。作为豪华SUV的典范,GLE集优雅设计与强大性能于一身,为您带来前所未有的驾驶...浏览全文>>
- 特斯拉试驾全攻略
- 宝马预约试驾全攻略
- 奔驰GLE试驾预约,畅享豪华驾乘,体验卓越性能
- 零跑C16试驾全攻略
- 试驾海豚,轻松几步,畅享豪华驾乘
- 奇瑞预约试驾的流程及注意事项
- 小鹏G7试驾,新手必知的详细步骤
- 如何在 IPHONE 16E 和 IPHONE 16 之间进行选择
- 这个隐藏的 ANDROID 设置可以释放大屏幕的全部潜力
- 三星 ONE UI 7 更新:比预期更早到来
- IPHONE 15 PRO 和 PRO MAX 将很快获得视觉智能
- 使用这些必备的 ANDROID 应用程序改变你的主屏幕
- PS5 PRO 销量与 PS4 PRO 竞争
- 超薄 Galaxy S25 Edge揭晓其新功能
- Android 15 QPR2 Beta 2.1 将修复与崩溃相关的问题
- Garmin 的 Fenix 7 Pro Sapphire Solar 降至 591 美元
- Galaxy S25 Ultra 的 S Pen 可能会失去蓝牙功能
- 惠普在 CES 上推出搭载 Copilot+ 的全新一体机和迷你电脑
- 首批 Galaxy S25 系列壁纸来了 但只有两张
- 1,000 马力的 911 Turbo S GT-R 与杜卡迪一较高下