- 博客(7)
- 资源 (1)
- 收藏
- 关注
原创 对mysql乐观锁、悲观锁、共享锁、排它锁、行锁、表锁概念的理解
实验环境:mysql5.6存储引擎:innoDB 我们在操作数据库的时候,可能会由于并发问题而引起的数据的不一致性(数据冲突)乐观锁乐观锁不是数据库自带的,需要我们自己去实现。乐观锁是指操作数据库时(更新操作),想法很乐观,认为这次的操作不会导致冲突,在操作数据时,并不进行任何其他的特殊处理(也就是不加锁),而在进行更新后,再去判断是否有冲突了。通常实现是这样的:在表中...
2018-09-14 11:22:28 83
原创 MySQL 优化之 index merge(索引合并)
深入理解 index merge 是使用索引进行优化的重要基础之一。理解了 index merge 技术,我们才知道应该如何在表上建立索引。1. 为什么会有index merge我们的 where 中可能有多个条件(或者join)涉及到多个字段,它们之间进行 AND 或者 OR,那么此时就有可能会使用到 index merge 技术。index merge 技术如果简单的说,其实就是:对多...
2018-09-14 08:43:38 528
原创 MySQL锁机制
锁是计算机协调多个进程或线程并发访问某一资源的机制。 在数据库中,除传统的计算资源(如CPU、RAM、I/O等)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。从这个角度来说,锁对数据库而言显得尤其重要,也更加复杂。锁的分类 开锁、加锁速度、死锁、粒度、并发性能只能就具体...
2018-09-13 17:34:39 99
原创 MYSQL的文件排序(filesort)和索引排序
什么时候会发生filesort 排序呢 查询索引和order by 的字段不是同一个字段。比如 select * from table where id > 0 order by name; 注意:我们可以通知查询优化器按照我们的逻辑去执行索引,那么上面的sql如果我们调整为 select * from table use index (idx_name) where id >...
2018-09-13 16:30:42 1709
原创 索引优化分析
简单介绍为什么要优化mysqlmysql 性能下降SQL慢、执行时间长、等待时间长原因:1.查询语句写的烂2.索引失效 单值 复合3.关联查询太多join(设计缺陷或不得已的需求)4.服务器调优及各个参数设置从几个方面优化 成本由低到高,效果却由高到低:SQL及索引 –> 数据库表结构 –> 系统配置 –> 硬件如何优化mysql 1...
2018-09-13 15:48:39 148
原创 MySql最左前缀原则
B-Tree 索引和 Hash 索引的对比 对于 B-tree 和 hash 数据结构的理解能够有助于预测不同存储引擎下使用不同索引的查询性能的差异,尤其是那些允许你选择 B-tree 或者 hash 索引的内存存储引擎。B-Tree 索引的特点B-tree 索引可以用于使用 =, >, >=, <, <= 或者 BETWEEN 运算符的列比较。如果 LIKE 的...
2018-09-13 15:41:41 101
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人