2021
10-01
10-01
解决Mysql的left join无效及使用的注意事项说明
Mysql的leftjoin无效及使用今天写sql发现使用leftjoin没有把左边表的数据全部查询出来,让我郁闷了一会,后来仔细研究了一会才知道自己犯了个常识性的错误(我是菜鸟)这是原sql这样的查询并不能将tb_line这张表的数据都查询出来,好尴尬...后面我才知道原来当我们进行多表查询,在执行到where之前,会先形成一个临时表而on就是临时表中的条件筛选,使用leftjoin则不管条件是否为真,都会查询出左边表的数据,条件为假的,则显示...
继续阅读 >
在日常优化过程中,发现一个怪事情,同一个SQL出现两个完全不一样执行计划,leftjoin连驱动表都可以变成不一样。对于leftjoin,如果where条件里有被关联表过滤,leftjoin有可能被转成innerjoin,本案例中shopInfo有ShopCategory='LOC'过滤条件;保证shopInfo的记录非NULL,因此leftjoin在优化过程中可以转为innerjoin。那么O和S的JOIN顺序就是可以交换的。验证结论:创建表:--班级表CREATETABLET_CLASS(class_idi...
目录一、前言二、RC与RR隔离级别2.1、RR事务隔离级别下查询结果2.2、RC事务隔离级别下查询结果三、事务隔离在MVCC的实现3.1、数据行ROW的多版本3.2、视图数组3.3、一致性视图3.4、当前读与快照读3.4.1、当前读与快照读规则3.4.2、当前读与快照读解释3.4.3、RC读可提交下的视图规则一、前言众所周知,MySQL的在RR隔离级别下查询数据,是可以保证数据不受其它事物影响,而在RC隔离级别下只要其它事物commit后,数据都会读到commit之...
目录一、创建springboot工程二、修改maven配置2.1、修改springboot版本号2.2、引入camunda包三、修改application.yaml配置四、创建mysql数据库五、启动springboot工程六、登录访问camunda一、创建springboot工程使用IDEA工具,选择File->New->Project,选择SpringInitialzr输入springboot工程基本信息,本示例命名为“camunda-demo1”,jdk版本选择8在选择springboot组件的时候,需要选择SpringWeb、JDBCAPI、MySqlDriver这三...
目录一、页的概览二、Infimum和Supremum三、使用PageDirectory四、页的真实面貌4.1、FileHeader4.2、PageHeader4.3、Infimum&SupremumRecords4.4、UserRecords4.5、FreeSpace4.6、PageDirectory4.7、FileTrailer五、总结一、页的概览我们往MySQL插入的数据最终都是存在页中的。在InnoDB中的设计中,页与页之间是通过一个双向链表连接起来。而存储在页中的一行一行的数据则是通过单链表连接起来的。上图中的UserR...
目录一、前言二、MVCC(多版本并发控制机制)2.1、RepeatableRead2.2、ReadCommit2.3、MVCC的优势三、MVCC(实现机制)3.1、select运行栈3.2、read_view的创建过程3.3、行版本可见性3.4、undolog搜索可见版本的过程3.5、read_view创建时机再讨论四、MVCC和锁的同时作用导致的一些现象五、总结一、前言作为一个数据库爱好者,自己动手写过简单的SQL解析器以及存储引擎,但感觉还是不够过瘾。<<事务处理-概念与技术>>诚然讲的非常透彻...
目录1、建表1.1建立测试表t_user1.2创建临时表2、生成数据2.1用python生成【一亿】 记录的数据文件(这个确实稍微花点时间)2.2将生成的文件导入到临时表tmp_table中3、以临时表为基础数据,插入数据到t_user中4、参考1、建表1.1建立测试表t_userCREATETABLE`t_user`(`id`int(11)NOTNULLAUTO_INCREMENT,`c_user_id`varchar(36)NOTNULLDEFAULT''COMMENT'用户Id',`c_name`varchar(22)NOTNULLD...
目录一、MySQL逻辑架构概览二、连接器(Connector)三、查询缓存(QueryCache)四、解析器(Parser)五、优化器(Optimizer)六、执行器七、小结一、MySQL逻辑架构概览MySQL最重要、最与众不同的特性就是它的可插拔存储引擎架构(pluggablestorageenginearchitecture),这种架构的设计将查询处理及其他系统任务和数据的存储/提取分离开来。来看官网的解释:TheMySQLpluggablestorageenginearchitectureenablesadat...