MySQL
文章平均质量分 61
.L.JIN.Jie
这个作者很懒,什么都没留下…
展开
-
MySQL 执行查询的过程
更新语句执行会复杂一点。需要检查表是否有排它锁,写 binlog,刷盘,是否执行 commit。原创 2023-12-29 18:22:22 · 337 阅读 · 0 评论 -
怎么查看MySQL语句有没有用到索引?
第一个select的id是1,第二个select的id是2。如const(主键索引或者唯一二级索引进行等值匹配的情况下),ref(普通的⼆级索引列与常量进⾏等值匹配),index(扫描全表索引的覆盖索引)。select_type:select关键字对应的那个查询的类型,如SIMPLE,PRIMARY,SUBQUERY,DEPENDENT,SNION。类型的查询虽然不是全表扫描, 但是它扫描了所有的索引, 因此比 ALL 类型的稍快.类型因为是全表扫描, 因此在相同的查询条件下, 它是速度最慢的. 而。原创 2023-12-18 10:21:12 · 78 阅读 · 0 评论 -
MySQL日志文件:bin log 和 redo log 的区别
(如图)其中 binlog 主要用来做数据备份、数据恢复和数据同步,大家初步接触这个 概念 ,应该是在 Mysql 的主从数据同步的场景中,master 节点的数据变更,会写入 到 bin log 中,然后再把 bin log 中的数据通过网络传输给 slave 节点,实现数据同步。但是其实它还有很多的作用。Redo Log 是在 InnoDB 存储引擎层面的操作,它是在 Mysql 后台线程中生成并写入到磁盘中的,所以它是事务级别的记录方式,一个事务操作完成以后才会被写入到 redo log 中。原创 2023-11-05 20:46:26 · 52 阅读 · 0 评论 -
MySQL 分页查询优化
我再次explain,可以看出已经使用到了索引,索引类型是idx_user_id。可以看出,添加了where条件,花费时间很少了,查询效率提升很多。然后再看看原来第二条sql查询花费时间,看出会短些。可以看出,不使用*,换字段查询,花费时间越短。:此时我们给user_id 这个字段添加索引。第二条,可以看出没用使用到索引,而是做了。数据不多,表现不太明显,但是总体是。,因为查询的字段没有索引约束。当偏移量大时,解决方案如下。数据量越大,花费时间越长。偏移量约大,花费时间越长。第一条,可以看出使用了。原创 2023-10-22 21:06:44 · 37 阅读 · 0 评论