资讯专栏INFORMATION COLUMN

Mysql那些事儿

wapeyang / 469人阅读

摘要:在同一个事务内的查询都是事务开始时刻一致的,默认级别。幻读一个事务读到另一个事务已提交的数据

1、limit M,N如何优化?

这个问题比较常见,可以分为以下几种情况
1.数据量小的情况可以直接使用limit M,N
2.数据量中等的情况可以使用数学中的正态曲线来解决此问题,不过前提要计算出where中的总数量
3.数据量大且有上一页写一页的操作,可以在每一页的数据下发一个自增ID,以便可以在下一页的时候where id>xx limit N;上一页的时候where id4.数据量大且有直达页的情况,就需要先计算本页所有的ID(此时用到覆盖索引),然后通过自增ID去获取相关数据

2、Mysql 四种隔离级别
隔离级别 脏读 不可重复读 幻读
未提交读 可能 可能 可能
已提交读 不可能 可能 可能
可重复读 不可能 不可能 可能
可串行化 不可能 不可能 不可能

1.未提交读(Read Uncommitted):允许脏读,也就是可能读取到其他会话中未提交事务修改的数据
2.提交读(Read Committed):只能读取到已经提交的数据。Oracle等多数数据库默认都是该级别 (不重复读)
3.可重复读(Repeated Read):可重复读。在同一个事务内的查询都是事务开始时刻一致的,InnoDB默认级别。在SQL标准中,该隔离级别消除了不可重复读,但是还存在幻象读
4.串行读(Serializable):完全串行化的读,每次读都需要获得表级共享锁,读写相互都会阻塞

1.脏读 :一个事务读取到另一事务未提交的更新数据
2.不可重复读 : 在同一事务中,多次读取同一数据返回的结果有所不同, 换句话说, 后续读取可以读到另一事务已提交的更新数据.
3.可重复读 : 在同一事务中多次读取数据时, 能够保证所读数据一样, 也就是后续读取不能读到另一事务已提交的更新数据。
4.幻读 :一个事务读到另一个事务已提交的insert数据

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/48820.html

相关文章

  • 数据库时区那些事儿 - MySQL的时区处理

    摘要:本文探究了及其驱动对于时区的处理方式,并尝试给出最佳实践。只要保证时区和用户所在时区保持一致即可。下面是运行结果中国标准时间中欧时间可以看到结果是基本符合文档里的说明的,但是要注意,在时区,和的时间部分相差一小时。 原文地址 当JVM时区和数据库时区不一致的时候,会发生什么?这个问题也许你从来没有注意过,但是当把Java程序容器化的时候,问题就浮现出来了,因为目前几乎所有的Docker...

    Ku_Andrew 评论0 收藏0
  • 深入浅出Mysql索引的那些事儿

    摘要:如果删除组成索引的所有列,则整个索引将被删除。组合索引与前缀索引在这里要指出,组合索引和前缀索引是对建立索引技巧的一种称呼,并不是索引的类型。索引要建立在值比较唯一的字段上。 一.索引的作用 一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,遇到最多的,也是最容易出问题的,还是一些复杂的查询操作,所以查询语句的优化显然是重中之重。 在数据量和访问量不...

    zoomdong 评论0 收藏0
  • 肖鹏:微博数据库那些事儿(图灵访谈)

    摘要:经历了微博数据库各个阶段的架构改造,包括服务保障及体系建设微博多机房部署微博平台化改造等项目。第二阶段爆发阶段微博上线之后,随着用户活跃度的增加,数据库的压力也与日俱增。 非商业转载请注明作译者、出处,并保留本文的原始链接:http://www.ituring.com.cn/article/211461 肖鹏,微博研发中心技术经理,主要负责微博数据库(MySQL/Reids/HBase...

    shiguibiao 评论0 收藏0
  • 肖鹏:微博数据库那些事儿(图灵访谈)

    摘要:经历了微博数据库各个阶段的架构改造,包括服务保障及体系建设微博多机房部署微博平台化改造等项目。第二阶段爆发阶段微博上线之后,随着用户活跃度的增加,数据库的压力也与日俱增。 非商业转载请注明作译者、出处,并保留本文的原始链接:http://www.ituring.com.cn/article/211461 肖鹏,微博研发中心技术经理,主要负责微博数据库(MySQL/Reids/HBase...

    wangzy2019 评论0 收藏0
  • 肖鹏:微博数据库那些事儿(图灵访谈)

    摘要:经历了微博数据库各个阶段的架构改造,包括服务保障及体系建设微博多机房部署微博平台化改造等项目。第二阶段爆发阶段微博上线之后,随着用户活跃度的增加,数据库的压力也与日俱增。 非商业转载请注明作译者、出处,并保留本文的原始链接:http://www.ituring.com.cn/article/211461 肖鹏,微博研发中心技术经理,主要负责微博数据库(MySQL/Reids/HBase...

    voyagelab 评论0 收藏0

发表评论

0条评论

wapeyang

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<