数据库
qiufengyouyang1
这个作者很懒,什么都没留下…
展开
-
表空间整理
1:为啥删除了表的一半数据,表文文件大小没变化?innodb里面的数据都是b+ tree结构组织的,如果要删除一行数据,innodo只是将这行记录标记为 删除。后续可能会复用这个位置。因为delete 命令其实只是把记录的位置,或者数据页标记为了“可复用”,但磁盘文件的大小是不会变的。也可以认为是一种逻辑删除,所以物理空间没有实际释放,只是标记为可复用,表文件的大小当然是不变的啦!这些可以...翻译 2019-07-14 17:24:04 · 420 阅读 · 0 评论 -
mysql binlog
1.mysql如何得知Binlog完整性:一个事物的binlog有完整格式的:statement格式的binlog,最后会有commit;row格式的binlog,最后会有一个XID EVENT1、redo log和binlog采用两阶段提交,目的是为了双方能多一个选择,在mysql宕机时,如果redo log处于commit,事务直接提交,如果redo log处于prepare,bin...翻译 2019-08-15 20:52:17 · 161 阅读 · 0 评论 -
mysql系列3
更新语句的执行过程。更新流程涉及到的 redo log(重做日志) binglog (归档日志)redo log临时更新缓存平台,在一定时机更新到磁盘上。但有一条记录需要更新的,innodb殷勤会先把记录写到redolog中并更新内存。同时在适当事假将这个操作记录更新到磁盘里面,往往是在系统比较空闲的时候。有了redolog innodb就可以保证即使数据库发成异常重启,之前的提交记录就...转载 2019-07-13 11:16:39 · 111 阅读 · 0 评论 -
myql相关知识
1.事务的特性:原子性 一致性 隔离性 持久性2.多事务同时执行存在的问题:脏读 不可重复读 幻读3.事务隔离级别 读未提交 读提交 可重复度 串行化4.隔离级别的却别读未提交:一个事务还未提交,他所做的变更就可以被别的事务看到。读提交:一个事物提交之后,他所做的变更才可以被别的事务看到可重复度:一个事物执行过程中看到的数据是一致的,未提交的更改对其他事物是不可见的串行化:对应一个记...转载 2019-07-13 13:44:15 · 144 阅读 · 0 评论 -
mysql锁
一致性视图,保证了当前事务从启动到提交期间,读取到的数据是一致的(包括当前事务的修改)。当前读,保证了当前事务修改数据时,不会丢失其他事务已经提交的修改。两阶段锁协议,保证了当前事务修改数据时,不会丢失其他事务未提交的修改。RR是通过事务启动时创建一致性识图来实现,RC是语句执行时创建一致性识图来实现。1.innodb支持RC和RR隔离级别实现是用的一致性视图(consistent r...翻译 2019-07-13 17:37:58 · 96 阅读 · 0 评论 -
mysql查看数据库空间
查看数据库实例show databases;查看数据库服务器所有空间大小:select table_schema, concat(truncate(sum(data_length)/1024/1024,2),' mb') as data_size,concat(truncate(sum(index_length)/1024/1024,2),'mb') as index_sizefrom...原创 2019-05-07 16:06:10 · 3517 阅读 · 0 评论