
数据库
文章平均质量分 92
eddieVim
Undefined
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
说一说 MySQL的锁机制(行锁、表锁、间隙锁、Next-Key Lock)
锁的操作类型分类读锁:共享锁,多个读操作可以对同一份数据同时进行而不会互相影响。写锁:排他锁,在写操作未完成之前,会阻止其他的写锁与读锁。锁的操作粒度分类表锁: 偏向于读,MyiSAM行锁:偏向于写,InnoDBMyiSAM在进行SELECT 操作前,MyiSAM会给涉及到的表加读锁。这个时候其他Session可以正常对未加锁的表进行操作。但是对加了读锁的表,只能对其进行查询(共享锁),对其修改则会阻塞,等待至表解锁后,才会生效。Session1Sessi原创 2020-06-21 11:22:35 · 1818 阅读 · 0 评论 -
MySQL索引优化篇
MySQL索引基本原则1. 全值匹配全值匹配是使用索引的最优情况,即:条件中都使用到了索引。2 . 最佳左前缀法则如果索引了多列,要遵循最左前缀法则。指的是查询从索引的最左前列开始并且不跳过索引中的列。若查询的条件中没有索引的最左边则本次查询不会使用到索引,若在索引中间的某个字段没有作为查询的条件,则该索引后边的条件也都不会使用到索引。3. 不要在索引列做任何操作例如在索引列上做了,计算、函数、类型转换等操作,会导致索引失效,转向全表扫描4. 存储引擎不能使用索引中范围条件右边的列索引原创 2020-06-20 14:07:01 · 209 阅读 · 0 评论 -
MySQL索引基础篇
MySQL索引索引是什么?索引是帮助MySQL高效获得数据的数据结构。即:索引是一种数据结构。可以理解为一种排好序的快速查找数据结构索引的目的目的是提高搜索效率,类似字典索引的底层实现B TreeB+Treefull-textHashR-Tree一般默认为B树(多路查找树 + 链表)索引适合的场景多查询,少修改的场景查询时:假如我们对数据库中的某一个字段建立了索引,我们下次需要对此字段进行查询时,直接从索引中,去查询,避免从无序的全表进行查询加快了查询速度修改时:假如我原创 2020-06-16 22:11:37 · 167 阅读 · 0 评论 -
分布式事务——CAP、BASE理论及其解决方案
数据库事务是指数据库执行过程中的一个逻辑单位,由一个有限的数据库操作序列构成。事务拥有以下的4个特性,习惯上被称为ACID特性。**原子性(Atomicity):**事务作为一个整体被执行,包含在其中的对数据库的操作要么全被执行要么不执行。一致性(Consitency): 执行事务前的状态应该是一致的,且事务执行后也应该是一致的。即中间过渡的状态是对外不可见的。隔离性(Isolation...原创 2020-05-08 14:49:46 · 608 阅读 · 0 评论 -
两句“一模一样”的SQL语句运行结果不同(非编码问题)
问题:下面两句看起来一摸一样的sql语句,运行结果却不同(一个有数据一个没有)。SELECT category_id1 categoryId1,category_id2 categoryId2,category_id3 categoryId3, DATE_FORMAT(o.`pay_time`,'%Y‐%m‐%d' ) countDate,SUM(oi.num) num,SUM(oi.pay_...原创 2020-04-10 12:55:47 · 1770 阅读 · 0 评论 -
数据库语句错误Cannot add or update a child row: a foreign key constraint fails
错误信息:java.sql.SQLException: Cannot add or update a child row: a foreign key constraint fails ...这个错误由外键对应的外表属性没有对应的属性所造成的。解决方法:检查外键输入是否正确,以及外键链接的表上属性是否有该值。...原创 2020-03-16 14:35:46 · 189 阅读 · 0 评论