最新 最热

条件简化&子查询(1)--Mysql基于规则优化(四十四)

上篇文章说了统计数据可以用show table status和show index from 表名查看,可以存着永久性和非永久性,innodb_stats_persistent控制着是否开启永久性,innoDb_stats_persistent_sample_pages和innoDB_stats_transient_s.....

2022-07-26
0

连接查询成本(2)---mysql进阶(四十二)

上篇文章说了连接查询的成本,主要由驱动表的扇出值和被驱动表的查询方法决定,而成本这些都是可以在%cost%表查看的,因为分为server和engine表,server不管理数据成本,里面包含连接管理,查询缓存,sql解码,sql优化,engine就是数据...

2022-07-26
2

mysql基于成本的优化(1)---mysql进阶(四十一)

前面我们说了join查询原理,最基本的是嵌套查询,这种不推荐,如果数据量庞大,因为内存是有限的,不能放下所有的数据,可能查询到后面的时候,前面的数据就从内存从释放,为了减少磁盘的查询次数,有了join buffer这个缓存区,专门放被...

2022-07-26
2

Join原理(2)--连接原理(四十)

前面说了join的用法,外连接有左连接,右连接,内连接,当用外连接的时候,on代表驱动表数据一定会查询来,被驱动表则查出来是null,内连接则on和where使用是一样的,where则是全部过滤掉,不管驱动还是被驱动表不符合的都不返回。...

2022-07-26
2

索引合并Intersection、union (3)--单表访问方法(三十八)

上篇文章我们说了,使用索引的注意事项,前面我们总结了查询数据库的方式有const,ref,ref_or_null,range,index,all,而使用时候需要注意,当where语句后面全是索引查询,当where语句后面跟着非索引的时候,当用and连接,比如where key1 ...

2022-07-26
2

访问方法access method---单表访问方法(三十六)

上篇文章回忆了innodDB的独立表空间和系统表空间的结构,因为需要梳理的知识点太多,所以额外用一篇。

2022-07-26
2

Data dictionary header(2) --系统表空间结构(三十四)

前面说了系统表空间的整体结构,与独立表空间大致类似,多了五个特有的系统属性页,因为整个表空间只有一个系统表空间,所以他的重要性不言而喻,space id为0。...

2022-07-26
2

整体结构&InnoDB数据字典(1) --系统表空间结构(三十三)

前面说了xdes 类型页面,第一页的extent0里面的xdes页面叫做fsp 因为里面还存着表空间的数据file space header,这里面主要存着xdes entry几个链表的基点,和inode entry链表的基点,后面的每个组第一页都是xdes类型页面。...

2022-07-26
5

聊一聊数据库事务

编程其实就是将现实世界的操作逻辑转为计算机进行操作。以最经典的银行转账为案例,我们在数据库中会有一张表存放账户的的信息(所属用户、余额等),如下表所示...

2022-07-26
2

sqlx库使用

sqlx是基于Go内置database/sql包上的扩展,主要是简化了sql的使用过程, sqlx的sql.DB, sql.TX, sql.Stmt等保持底层实现不变,因此可以很方便地从database/sql切换到sqlx。sqlx另外还提供了一些功能:...

2022-07-25
2