DB
文章平均质量分 62
DB
mengml_smile
我就是我 不一样的自我
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
MySql事务
MySql事务参考文章MVCC可重复读没有彻底解决幻读高并发场景下快照读 是基于MVCC当前读是最新记录 会产生幻读 需要开启gap和next-lock 来部分解决MVCC(Multi-Version Concurrency Control多版本并发控制):隐藏字段DATA_TRX_ID 字段记录了数据的创建和删除时间,这个时间指的是对数据进行操作的事务的idDATA_ROLL_PTR 指向当前数据的undo log记录,回滚数据就是通过这个指针DELETE原创 2021-10-10 13:05:30 · 173 阅读 · 0 评论 -
MySQL DEADLOCK
几个文章参考浅谈MySQL的七种锁 https://yq.aliyun.com/articles/646976MYSQL自增列引起死锁 https://www.cnblogs.com/hhbk/p/8376416.html两个INSERT发生死锁原因剖析https://blog.youkuaiyun.com/n88Lpo/article/details/78099088Innodb 锁的介绍 http...原创 2019-07-24 19:58:45 · 521 阅读 · 1 评论 -
mysql索引数据结构
B+treehash1.Hash 索引仅仅能满足"=",“IN"和”<=>"查询,不能使用范围查询2.Hash 索引无法被用来避免数据的排序操作由于 Hash 索引中存放的是经过 Hash 计算之后的 Hash 值,而且Hash值的大小关系并不一定和 Hash 运算前的键值完全一样,所以数据库无法利用索引的数据来避免任何排序运算3.Hash 索引不能利用部分索引键查询对于组合索引,Hash 索引在计算 Hash 值的时候是组合索引键合并后再一起计算 Hash 值,而不是单独计算 H原创 2020-09-02 18:09:07 · 3571 阅读 · 0 评论 -
mysql大表分页查询
mysql大表分页查询原因mysql分页查询是先查询出来offset+limit行数据,然后放弃前offset,取limit条记录,造成了越往后的页数,查询时间越长思路转换offset让offset尽可能的小 最好能每次查询都是第一页即offset为0上/下一页 跳转固定页数解决方案上/下一页按照id排序 上一页最大id当参数传入 有序id(聚簇索引)当参数传入 order by id id>lastEndId limit 10按照其他索引排序(可能存在重复记录 .原创 2021-04-06 16:47:35 · 852 阅读 · 0 评论 -
Mysql执行过程
Mysql执行过程缓存命中与否MySQL将缓存存放在一个引用表中,通过一个哈希值引用,这个哈希值包括了以下因素,即查询本身、当前要查询的数据库、客户端协议的版本等一些其他可能影响返回结果的信息。命中当判断缓存是否命中时,MySQL不会进行解析查询语句,而是直接使用SQL语句和客户端发送过来的其他原始信息不命中任何字符上的不同,例如空格、注解等都会导致缓存的不命中不确定的数据时不会缓存NOW()或者CURRENT_DATE()任何用户自定义函数,存储函数,用户变量,临时表,系统表或者包含任何列级原创 2021-04-02 18:21:45 · 365 阅读 · 0 评论 -
Mysql主从复制 读写分离
Mysql主从复制 读写分离复制原理master将改变记录到二进制日志binary logslave将master的binary log events拷贝到它的中继日志(relay log)slave重做中继日志中的事件,将改变反映它自己的数据(数据重演)方式同步复制,master的变化,必须等待slave-1,slave-2,…,slave-n完成后才能返回异步复制,master只需要完成自己的数据库操作即可,至于slaves是否收到二进制日志,是否完成操作,不用关心。MYSQ原创 2020-12-07 19:12:51 · 709 阅读 · 0 评论 -
sql调优
Mysql索引失效1.最左前缀原则(复合索引) 如果有一个 2 列的索引 (col1, col2),则已经对 (col1)、(col1, col2) 上建立了索引. 如果有一个 3 列索引 (col1, col2, col3),则已经对 (col1)、(col1, col2)、(col1, col2, col3) 上建立了索引. 特殊情况 头在中间断头有效 头不在都无效 头或者中间...原创 2020-01-16 16:53:24 · 1967 阅读 · 0 评论 -
MongoDB
MongoDB link基本知识db.createCollection(“runoob”)db.collection.drop()db.mycol2.insert({“name” : “菜鸟教程”}) 自动创建insert() insertMany() 主键已经存在Exceptiondb.col.update({‘title’:‘MongoDB 教程’},{$set:{‘title’:‘MongoDB’}},{multi:true})$type 过滤字段类型db.col.remove({‘原创 2020-12-09 20:17:41 · 493 阅读 · 0 评论
分享