![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
MySQL
文章平均质量分 64
EdmundShelby
这个作者很懒,什么都没留下…
展开
-
事务与事务隔离级别-学习笔记
ACID的一致性和CAP定理中的一致性是不一样的,ACID中的一致性属于数据库事务领域的概念,具体含义如上所述;不同的隔离级别有着不同的保证。仅仅通过“行级锁”是无法实现事务序列化的,必须通过其他机制保证新插入的数据不会被刚执行查询操作的事务访问到。不可重复读与脏读的区别在于:脏读是由于事务回滚所导致的,而不可重复读是读到了其他事务已经提交的数据。读取数据的事务允许其他事务继续访问该行数据,但是未提交的写事务将会禁止其他事务访问该行。读取数据的事务将会禁止写事务(但允许读事务),写事务则禁止任何其他事务。原创 2023-02-07 16:17:30 · 132 阅读 · 0 评论 -
MySQL索引以及查询优化-学习笔记
补充:普通索引若数据再内存中直接内存中更新,否则会将更新操作先记录到channge buffer中,等下一次查询将数据读到内存中再进行change buffer里相关更新操作后将数 据返回,这样一来,再写多读少的情况下就减少了磁盘IO,若写完就马上查询,就大可不 必用change buffer,不但没提高多少效率还造成维护change buffer额外消耗。但是, 随着数据量的变化,选择的索引也会随之变化。连接查询 不需要建立临时表 ,其 速度比子查询 要快 ,如果查询中使用索引的话,性能就会更好。原创 2023-02-06 14:12:55 · 164 阅读 · 0 评论 -
MySQL索引失效的11种情况-学习笔记
在MySQL建立联合索引时会遵守最佳左前缀匹配原则,检索数据时从联合索引的最左边开始匹配,来选择使用哪一个索引。统一使用utf8mb4( 5.5.3版本以上支持)兼容性更好,统一字符集可以避免由于字符集转换产生的乱码。由于InnoDB底层为B+树,如果主键频繁乱序插入,会导致频繁的页面分裂,所以主键最好使用自增ID。当一个select语句中有若干个等值判断时,尽量创建由相关字段组成的联合索引。应该将将范围查询条件放置语句最后。原创 2023-02-06 14:11:33 · 1155 阅读 · 0 评论 -
MySQL索引创建与设计原则-学习笔记
在数据表中的数据行数比较少的情况下,比如不到 1000 行,是不需要创建索引的。在where中使用不到的字段,不要设置索引。有大量重复数据的列上不要建立索引。避免对经常更新的表创建过多的索引。删除不再使用或者很少使用的索引。数据量小的表最好不要使用索引。不建议用无序的值作为索引。不要定义冗余或重复的索引。原创 2023-02-06 14:10:47 · 77 阅读 · 0 评论