数据库相关概念的学习 不可重复读 不能重复读是指在事务开始之后, 第一次读取的结果集和第二次读取的结果集不一致。 TRANSACTION1 TRANSACTIONS2 select * from p where id < 5 insert into p values (2) commit select * from p where id < 5 以上是作为一个正确的事务执行顺序, 如果TRANSACTION1两次执行了相同的SQL语句, 但是却获取了TRANSACTION2插入的结果。 这种主要是事务级…

4月 18, 2021 0条评论 338点热度 0人点赞 阅读全文

1. NULL列的影响 Mysql 官方文档: NULL columns require additional space in the row to record whether their values are NULL. For MyISAM tables, each NULL column takes one bit extra, rounded up to the nearest byte. 《高性能mysql第二版》中描述: Mysql难以优化引用可空列表查询, 它会使索引, 索引统计和值更加复杂。可空…

4月 17, 2021 0条评论 279点热度 0人点赞 阅读全文

数据库锁 什么是锁? 数据库锁是用于对公共资源的并发访问。是为了保证数据的并发性和一致性 锁类型 共享锁(S Lock): 允许事务读取一行数据 排它锁(X Lock): 允许事务更新或者删除一条数据 意向排它锁(IS Lock): 事务想要获取一个表中某几行的排它锁 意向共享锁(XS Lock): 事务想要获取一个表中某几行的共享锁 锁兼容 如果一个事务获得了行R的共享锁, 那么另外一个事务可以立即获得行R的共享锁。 锁不兼容 如果事务想获取行R的排他锁,则必须等待事务释放行R上的共享锁。 排它锁和共享锁的兼容性…

4月 11, 2021 0条评论 391点热度 0人点赞 阅读全文

mysql 事务 mysql事务的四个特性 原子性(Atomicity) 原子性是指整个数据库事务是不可分割的工作单位。只有使事务中的所有数据库操作都成功,整个事务才算成功。如果事务中任何一个SQL执行失败,已执行的SQL的操作必须被撤销, 数据库状态应该回退到执行事务前的状态。 一致性(Consistency) 一致性是指事务将数据库从一个状态转换为下一个一致性的状态。在事务开始前和开始后, 数据的完整性约束没有被破坏。 隔离性(Isolation) 一个事务的影响在提交前对其他事务都是不可见的。 - 这种通过锁…

4月 11, 2021 0条评论 389点热度 0人点赞 阅读全文