首页 > 其他分享 >随便看看

随便看看

时间:2023-08-14 17:48:13浏览次数:38  
标签:code sys account sud join 看看 随便 ar

workbench 下载地址
https://dev.mysql.com/downloads/workbench/

环境

虚拟机:16C 32G
mysql: percona 5.7.19

测试

CREATE TABLE `a` (
`account` varchar(50) NOT NULL,
KEY `idx_1` (`account`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

CREATE TABLE `b` (
`stu_account` varchar(50) NOT NULL,
KEY `idx_1` (`stu_account`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

insert into a 
select account from sys_depart sd 
inner join sys_user_detail sud on sd.code = sud.faculty_code;
Records: 13423  

insert into b
select stu_account from alert_result ar
inner join sys_user su on su.id = ar.stu_id and su.user_type = 2 and su.status = 0
inner join sys_depart_user sdu on ar.stu_id = sdu.user_id	
Records: 98022 

img

执行计划
img

View Source 就是看format = json

MySQL中优化器改写SQL,看下面的 JOIN_condition_to_WHERE

mysql> SELECT * FROM information_schema.OPTIMIZER_TRACE\G
*************************** 1. row ***************************
                            QUERY: select count(1) from alert_result ar inner join sys_user_detail sud on ar.stu_account = sud.account inner join sys_depart sd on sd.code = sud.faculty_code
                            TRACE: {
"steps": [
    {
    "join_preparation": {
        "select#": 1,
        "steps": [
        {
            "expanded_query": "/* select#1 */ select count(1) AS `count(1)` from ((`alert_result` `ar` join `sys_user_detail` `sud` on((`ar`.`stu_account` = `sud`.`account`))) join `sys_depart` `sd` on((`sd`.`code` = `sud`.`faculty_code`)))"
        },
        {
            "transformations_to_nested_joins": {
            "transformations": [
                "JOIN_condition_to_WHERE",
                "parenthesis_removal"
            ] /* transformations */,
            "expanded_query": "/* select#1 */ select count(1) AS `count(1)` from `alert_result` `ar` join `sys_user_detail` `sud` join `sys_depart` `sd` where ((`sd`.`code` = `sud`.`faculty_code`) and (`ar`.`stu_account` = `sud`.`account`))"
            } /* transformations_to_nested_joins */
        }
        ] /* steps */
    } /* join_preparation */
    },

标签:code,sys,account,sud,join,看看,随便,ar
From: https://www.cnblogs.com/Miac/p/17629287.html

相关文章

  • FPmarkets澳福盘点市场上10种期货合约,快来看看你了解几种
    在金融和商品市场上有许多不同类型的期货合约,今天就和 FPmarkets澳福一起盘点市场上10种期货合约,快来看看你了解几种。一.金融期货  金融期货合约是最具流动性的金融工具,允许在未来以今天预先确定的价格购买/出售资产。二.外汇期货    要想在全世界进行交易,不想有那么多的门......
  • 点进来看看产品手册文档可以用在哪些地方吧
    产品手册文档目的是给用户提供关于某个产品或服务的详细信息和指导。它通常用来向用户、客户、合作伙伴或内部员工传达关于产品的功能、特性、使用方法和操作指南。如果你的企业刚好有这方面的相关需求的话,不妨看看looklook的这篇文章哟!产品手册文档的应用场景1.客户支持:产品手册文......
  • 无损音乐从哪找?五个网站+免费下载,你确定不来看看?
     hi,大家好我是技术苟,每天晚上22点准时上线为你带来实用黑科技!由于公众号改版,现在的公众号消息已经不再按照时间顺序排送了。因此小伙伴们就很容易错过精彩内容。喜欢黑科技的小伙伴,可以将黑科技百科公众号设为标星,这样就不会走丢啦~免责声明 hello,朋友们,黑科技百科所有资源......
  • 【Python | 进阶】提高你的Python技能,9个让代码更简洁、更快的秘密技巧, 确定不来看看?
    ......
  • 答应我,这些面试题好好看看~
    最近有个朋友面试上了阿里P7,薪资暴涨了50%,我私下问他能不能给大家分析一下经验。聊了很多,最后给我推荐了一份特别全的的八股文资料,这个资料在他面试的过程中给了他很多的帮助。这份资料最初的版本,是来自某个大厂面试官给学弟整理的面经,后来经过学弟的不断收集、完善,慢慢形成了一个J......
  • 【随便学学】和声学基础
    1.常用基本和弦2.和弦级数3.和声进行......
  • S-H-ESD——就是先识别出趋势(中位数),然后做残差,利用残差看看正态分布的偏离点
    基于统计的异常检测方法S-H-ESD[twitter] 前10离群点中第三个点检测为异常,则至少有3个异常点S-ESD考虑ESD有如下两个限制:一是对于具有季节性的时间序列异常不能很好的识别,下图1中很多周期性变化的点并非异常点;二是多峰分布的数据点,一些低峰异常数据点不能被识别出来,如图2。图1时......
  • 浅浅总结了 23 届的秋招经验,给大家看看
    本文首发自公粽hao「林行学长」,欢迎来撩,免费领取20个求职工具资源包。了解校招、分享校招知识的学长来了!8月正式开始,不少企业已经开始预热秋招了。8月第一篇文章,咱们就来看看23届的同学们都留下了哪些经验教训。毕竟,“前事不忘,后事之师”!01把握应届生身份,抓住秋招机会秋招才开......
  • 随便说说学习感想
    发现学习vue得对htmlcssjavascript,typescript 这几门语言的要求还是比较高的,略懂的学起来很陌生,入门的学习起来也很吃力,最少也要熟悉的人学由于本人以前大部分是做后端,所以刚学习起来很费力,这几天都在狠狠补 htmlcssjavascript这些知识,边看边学  目前来看,想直接做项......
  • MySQL的修仙者之旅,不来看看你的修为如何吗?
    目录因为我个人比较喜欢看修仙类的小说,所以本文的主体部分借用修仙者的修为等级,将学习旅程划分成:练气、筑基、结丹、元婴、化神、飞升六个段位,你可以看下你大概在哪个段位上哦!本文目录:我为什么要写这篇文章都这么卷了,是时候好好学MySQL了!勾勒脑图练气期筑基期结丹期元婴期化神期飞......