Skip to content

Latest commit

 

History

History
45 lines (45 loc) · 2 KB

Mysql相关.md

File metadata and controls

45 lines (45 loc) · 2 KB

mysql分页有什么优化

  1. https://blog.csdn.net/a724888/article/details/60879572
  2. 分页一般有两个查询:①获取总记录数 ②获取数据 ;如果业务没有明确需求,尽量不要 获取总记录数
  3. 其实考察的就是索引:对于我们常见的根据条件查询列表,要对查询条件的column 建立索引

悲观锁、乐观锁

  1. 在悲观锁的情况下,为了保证事务的隔离性,就需要一致性锁定读。 读取数据时给加锁,其它事务无法修改这些数据。修改删除数据时也要加锁,其它事务无法读取这些数据。
  2. 乐观锁,大多是基于数据版本( Version )记录机制实现 MVCC

组合索引,最左原则

mysql 的表锁、行锁

  1. 表锁是对一整张表加锁,虽然可分为读锁和写锁,但毕竟是锁住整张表,会导致并发能力下降,一般是做ddl处理时使用。
  2. 行锁则是锁住数据行,这种加锁方法比较复杂,但是由于只锁住有限的数据,对于其它数据不加限制,所以并发能力强,MySQL一般都是用行锁来处理并发事务

mysql 性能优化

  1. 记住上边那些军规
  2. 索引

mysql的索引分类:B+,hash;什么情况用什么索引

  • 还是那句话,一定要说明在哪种存储引擎下,对我们当然是Innodb
  1. <MYSQL技术内幕> P160

事务的特性和隔离级别

  1. 事务特性 ACID 即 原子性 一致性 隔离性 持久性
  2. 隔离级别 READ_UNCOMMITTED READ_COMMITTED REPEATABLE_READ SERIALIZABLE
  3. 参考上边的链接,理解每个隔离级别的具体使用
  4. 理解 数据库锁,是为了构建这些隔离级别存在的

MySQL索引使用的注意事项

聚集索引与非聚集索引的区别

limit 20000 加载很慢怎么解决

es的使用场景

mogodb的使用场景