![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据库
Zdelta
这个作者很懒,什么都没留下…
展开
-
MySQL的InnoDB引擎是如何解决幻读的?
目录幻读原因InnoDB 的三种行锁InnoDB 的解决方案总结面试题在 MySQL 中,默认的隔离级别是可重复读,可以解决脏读和不可重复读的问题,只要提升隔离级别到串行化即可解决幻读问题。本文结束!串行化的隔离级别使数据库无法并发,那么,实际情况是如何解决幻读问题的呢?幻读原因在MVCC一文中,我们了解到数据库的MVCC机制,当隔离级别为读已提交(Read Commit)时一个事务中的每一次 SELECT 查询都会获取一次 Read View,如果 Read Vie原创 2020-12-28 19:31:18 · 1894 阅读 · 0 评论 -
数据库的MVCC是什么
目录MVCCMVCC是什么?MVCC解决了什么问题?MVCC 是如何实现的?事务版本号行记录的隐藏列Undo LogRead ViewMVCCMVCC是什么?全称是 Multiversion Concurrency Control,中文是多版本并发控制技术。通过数据行的多个版本管理来实现数据库的并发控制,简单来说它的思想就是保存数据的历史版本。读取数据的时候不需要加锁也可以保证事务的隔离效果(乐观锁思想)MVCC解决了什么问题?1,读写之间阻塞的问题,.原创 2020-12-28 18:40:07 · 791 阅读 · 0 评论 -
数据库SQL索引性能优化的一些技巧
目录索引聚集(clustered)索引,也叫聚簇索引查看SQL语句索引使用的情况建议创建索引的情况:索引失效的情况回表避免回表:宽索引宽索引缺点总结索引聚集(clustered)索引,也叫聚簇索引定义:数据行的物理顺序与列值(一般是主键的那一列)的逻辑顺序相同。由于物理排序只能有一种方式,所以一个表中只能拥有一个聚集索引。也就是MYSQL里的主键。非聚集索引:非聚集索引保存的数据都会存储主键值,然后通过主键值,来回表查找相应的数据查.原创 2020-12-24 20:15:10 · 198 阅读 · 1 评论 -
事务隔离级别及解决的问题
目录事务事务的问题不可重复读和幻读的区别相同点不同点事务隔离级别总结事务事务通常指一段SQl,要么都成功,要么都失败。但也可以手动commit失败的事物,使执行成功的部分SQL提交;事务有四大特性 ACID,分别是原子性、一致性、隔离性和持久性。事务的问题多事务并发有三种异常情况,违反了隔离性:脏读:读到了其他事务还没有提交的数据。 不可重复读:对某数据进行读取,发现两次读取的结果不同,也就是说没有读到相同的内容。这是因为有其他事务对这个数据同时进行了修原创 2020-12-22 17:10:57 · 2422 阅读 · 0 评论 -
mysql取某个组的前n条数据
取每个partyid的前三条数据:SELECT * FROM partyphotos bWHERE b.PartyId IN (SELECT PartyId FROM partyphotos)GROUP BYCONCAT(b.PartyId, b.Id % 3)原创 2019-12-20 16:04:19 · 135 阅读 · 0 评论 -
MySQL自动备份和下载备份到指定位置
经常手动获取服务器数据库太麻烦,而且容易影响到服务器配置,要是让数据库自动备份并定时下载到客户端指定位置就好了!一、环境:win sever2012+mysql 8二、自动备份命令行.bat脚本set "Ymd=%date:~,4%%date:~5,2%%date:~8,2%" //可选,指定日期格式//需要调用MySQL自带的MySQLdump程序"D:/mysq...原创 2019-02-12 12:10:39 · 877 阅读 · 1 评论 -
Mysql中文乱码成问号问题
环境:Wampserver64 v3.14,里面自带了MySQL5.7项目中执行插入语句含中文时,中文显示成问号:重新建立数据库,确认为utf8编码,还是不行;在MySQL数据库管理工具中,改变字符编码也不行;最后在MySQL安装目录my.ini修改全局设置: [mydqld]:服务端配置 [client]:客户端配置 【1】在[client]...原创 2019-09-24 09:27:51 · 132 阅读 · 0 评论