mysql
文章平均质量分 71
cblstc
海阔凭鱼跃,天高任鸟飞
展开
-
项目中的SQL查询优化案例
文章目录前言案例测试情况总结前言SQL优化是Java程序员几乎必备的技能,本人也深知其意义,不管是面试还是工作,对我们是非常有帮助的。尤其是开发版本时,需要引入新表的情况,需要考虑未来业务的体量,去建立合适的索引。案例取工作中的实际需求来说,有这样一个查询, A表关联B表,条件基本都是在B表上,同时在B表做了order by操作。explain select d.* from product_demands_demo d JOIN product_demand_push_log_demo l on原创 2022-03-30 23:22:37 · 526 阅读 · 0 评论 -
mysql MVCC总结
文章目录MVCC总结事务隔离级别MVCC的含义版本链ReadView规定规则MVCC和事务隔离级别的关系可重复读为什么不能解决幻读问题?MVCC总结事务隔离级别读未提交读已提交 -> 解决脏读可重复读 -> 解决不可重复读序列化 -> 解决幻读MVCC的含义多版本并发控制,通过维护undo日志的版本链实现读已提交和可重复读。版本链undo日志维护一个trx_id和roll_pointer字段,其中:trx_id 标识事务的idroll_pointer 指原创 2021-12-06 21:11:01 · 206 阅读 · 0 评论 -
mysql sql成本计算
成本计算mysql找出所有可能用到的索引,每个索引都去计算成本,再和全表扫描的成本对比,决定使用哪个索引或直接走全表。全表扫描的成本计算查找某个表的统计信息,rows字段表示表的记录数,这个值在MyISAM是准确的,在Innodb是一个估计值;data_length字段表示聚簇索引所占空间大小=聚簇索引页数x每页大小show table status like 'orders'我们就可以得到聚簇索引的页数=data_length/每页大小(16kb)=data_length/(16*1024)原创 2021-05-31 11:21:12 · 765 阅读 · 0 评论 -
sql优化学习
文章目录执行计划idselect_typepartitionstypepossible_keyskeykey_lenrefrowsfilteredextra执行计划通过执行计划,我们可以分析一条sql语句的性能,是我们进行sql优化的关键。我们看看执行计划包含了哪些信息。id每个sql都有一个id,如果使用子查询,那么id就不同。如果使用union查询,会产生一个id=NULL的临时表,主要对UNION表结果进行去重合并。select_typeSIMPLE简单的查询,不涉及union或子查原创 2021-04-27 15:06:33 · 127 阅读 · 0 评论 -
事务隔离级别小测试
文章目录事务隔离级别预备操作读未提交读已提交可重复读序列化事务隔离级别本文主要对事务隔离级别做测试,以加深对隔离级别的理解。预备操作-- 建表create table t_user( id int auto_increment primary key, name varchar(255) null, age int default 0 null, status int default 1 null);-- 数据准备ins原创 2021-04-07 16:07:44 · 117 阅读 · 0 评论