Mysql
文章平均质量分 65
Fire king
变强之前需要的隐忍,隐常人之所羡,忍常人之所避,集千穿百孔之洗礼,于群马蜕化而日行千里,于群鲤脱颖而出一跃成龙;以知识改变命运为宗,木秀于林风必摧之为旨,悄无声息汲取知识是为了更好地厚积薄发从而一击即中。
在校大学生,软件工程专业,写博客是为了更好地掌握知识,同时与千万小白并肩,看齐万千大佬,以铜为镜三省吾身史为鉴明得失致修身养性治国平天下之境。
展开
-
MySQL数据恢复-亲测有效版
MySQL数据恢复-亲测有效版原创 2023-04-13 10:41:49 · 347 阅读 · 1 评论 -
MySQL深度翻页和底层执行原理之间的关联和优化思路
MySQL深度翻页和底层执行原理之间的关联和优化思路,从底层原理剖析。自下而上,理解更通透。原创 2022-10-06 23:15:09 · 1169 阅读 · 0 评论 -
百万级别数据批量插入 MySQL,哪种方式最快?
实战demo及分析总结,实验难免有误区,敬请指正!!!原创 2022-05-20 17:41:17 · 3090 阅读 · 6 评论 -
Mysql经典案例
经典案例:-- 1、查询"01"课程比"02"课程成绩高的学生的信息及课程分数 SELECT s.*,sc.c_id,sc.s_scoreFROM student s JOIN score scON s.s_id=sc.s_idWHERE s.s_idIN(SELECT s1.s_idFROM(SELECT s_id,s_scoreFROM scoreWHERE c_id='01') s1JOIN(SELECT s_id,s_scoreFRO原创 2021-03-03 10:34:45 · 146 阅读 · 0 评论 -
解释索引优化底层原理
字段能二分查找(有序才能二分查找)规则:组合索引(字段1,字段2…),只有固定字段1的值字段2才是有序的,只有固定字段2的值字段3才是有序的…以此类推这样才能二分查找。范围查找之后、组合索引中不遵循最左匹配原则、like模糊查询中的中缀和后缀等等利用不了索引。Why?例子a、b、c三个字段组成的联合索引(a,b,c),范围查找如select * from abc where a=20 and b>30 and c=2;a和b使用到了索引,c没用到,原因:b查找到大于30的在B+树的同一层,而在同一原创 2021-02-16 16:23:39 · 120 阅读 · 0 评论 -
mysql索引优化知识点
中心主题通过索引进行优化想要了解索引的优化方式,必须要对索引的底层原理有所了解索引基本知识索引的优点1、大大减少了服务器需要扫描的数据量2、帮助服务器避免排序和临时表3、将随机io变成顺序io索引的用处1、快速查找匹配WHERE子句的行2、从consideration中消除行,如果可以在多个索引之间进行选择,mysql通常会使用找到最少行的索引3、如果表具有多列索引,则优化器可以使用索引的任何最左前缀来查找行4、当有表连接的时候,从其他表检索行数据5、查找特定索引列的原创 2021-02-16 16:22:11 · 597 阅读 · 0 评论 -
前缀索引实例说明
前缀索引实例说明 有时候需要索引很长的字符串,这会让索引变的大且慢,通常情况下可以使用某个列开始的部分字符串,这样大大的节约索引空间,从而提高索引效率,但这会降低索引的选择性,索引的选择性是指不重复的索引值和数据表记录总数的比值,范围从1/#T到1之间。索引的选择性越高则查询效率越高,因为选择性更高的索引可以让mysql在查找的时候过滤掉更多的行。 一般情况下某个列前缀的选择性也是足够高的,足以满足查询的性能,但是对应BLOB,TEXT,VARCHAR类型的列,必须要使用前缀索引,因为mysql原创 2021-02-16 16:21:21 · 245 阅读 · 1 评论 -
使用索引扫描来做排序-mysql索引优化
使用索引扫描来做排序 mysql有两种方式可以生成有序的结果:通过排序操作或者按索引顺序扫描,如果explain出来的type列的值为index,则说明mysql使用了索引扫描来做排序 扫描索引本身是很快的,因为只需要从一条索引记录移动到紧接着的下一条记录。但如果索引不能覆盖查询所需的全部列,那么就不得不每扫描一条索引记录就得回表查询一次对应的行,这基本都是随机IO,因此按索引顺序读取数据的速度通常要比顺序地全表扫描慢 mysql可以使用同一个索引即满足排序,又用于查找行,如果可能的话,设原创 2021-02-16 11:44:50 · 141 阅读 · 1 评论 -
mvcc版本链角度剖析
1.例题假设:假设同一条记录,事务id为80已提交,其他均未提交每个事务都有一个事务id,对同一条记录的修改如上图对id=1的记录的修改会将最近的修改插到版本链后面,每个事务都能查到自己修改的那条记录的最新版本(改了多次能查到最近的一次),因为版本链上同一条记录的不同版本有对应事务id字段值,标明是哪个事务的修改。如上图80,81,82,200都是事务id字段值,意味着事务id为80的事务能查到事务id字段值为80的那条记录…以此类推。2.mvvc如何保证读已提交?触发条件:事务第一次读取某条记录原创 2021-02-10 15:38:08 · 202 阅读 · 0 评论 -
Mysql四种树索引优化原理剖析
Mysql四种树索引优化原理剖析1.学前普及1.1.索引创建方法:1.2.查找方法:1.3.结点加载到内存过程:1.4.聚簇索引:1.5.非聚簇索引:2.为何Mysql中索引结构使用B+树而不使用二叉树、红黑树、B树呢?2.1.二叉树:2.2.红黑树:2.3.B树:2.4.B+树:1.学前普及1.1.索引创建方法:小的在父节点左边,大的或等于父节点的在父节点右边(在同一个节点中不同的key值也是从左到右按从小到大排序)1.2.查找方法:二分查找(结点内外部)1.3.结点加载到内存过程:先调入根原创 2020-12-26 22:28:30 · 112 阅读 · 0 评论 -
揭秘Mysql事务隔离级别之可重复读
揭秘Mysql事务隔离级别之可重复读1.可重复读的来源2.何为不可重复读3.那么可重复读和不可重复读究竟有什么关系呢?4.模拟不同事务隔离级别对不可重复的处理情况(有线程执行顺序)。4.1.读已提交级别:4.2.可重复读级别:5.总结1.可重复读的来源知其源可以知其流,而因其流亦可溯其源,欲搞清楚什么是可重复读,必先知道可重复读是怎么来的的,这就引出了不可重复读。2.何为不可重复读老师说过,了解一项技术或搞懂一个名词的最佳方法是百度百科,因此献上百度百科:注意划线部分,这是重点,敲黑板啦!!!原创 2020-12-24 21:26:12 · 1030 阅读 · 1 评论 -
结束一条mysql语句的精简命令
细节决定效率。原创 2020-11-28 22:25:55 · 478 阅读 · 0 评论 -
MySQL索引小白必备入门篇
MySQL索引已然成为面试热点,掌握索引不仅能够提高数据检索性能,还能够进一步加强对MySQL搜索机制的底层实现有了更进一步的了解,为了这些,我专门查找了很多资料并总结,这是小白入门篇,通俗易懂,后面还会写一篇进阶篇,如有错误敬请指正。原创 2020-07-28 09:39:26 · 228 阅读 · 0 评论 -
MySQL的几种树结构的演变历程小结
树是一种主流的数据存取结构,也是面试热点,下面是我通过查找资料简单总结几种树的演变历程,专治小白看不懂,如有错误敬请指正。原创 2020-07-26 17:25:22 · 191 阅读 · 0 评论 -
MySQL事务和锁机制小白专场
事务的四大特性:原子性:什么是原子,参加化学反应中最小粒子,不可分割,也就是说事务包含的所有操作要么全部成功,要么全部失败回滚;成功必须要完全应用到数据库,失败则不能对数据库产生影响;如果不这么做就会破坏数据库的一致性。一致性:事务提供的终极目标就是一致性,也就是说原子性,隔离性,持久性就是为了保证一致性。而一致性又分为两种:数据库自带的约束,诸如主键是不能重复和为空的,字段类型和长度;用户自定义约束:以转账来说明一下:如果A账户-100,B账户+50,这显然是不对的,又或者A账户0-100,B账户+1原创 2020-07-15 23:24:46 · 192 阅读 · 0 评论 -
MVCC实现可重复读惊天真相
可重复读实现原理大揭秘版本变化规则:新事务执行系统版本号加一,也就是当前事务版本号;删除语句:执行后将新的系统版本号作为对应行数据的删除标记;更新语句:复制原来的数据作为新的一行,将新的版本号给数据行版本,并且将新的版本号作为原来数据行的删除标记;何为新事务:begin之下,commit之上为同一事务,整个作为一个事务,要么全做,要么全不做。在其他客户端,也就是会话的begin之下,commit之上相对上面这个又是一个新事务。实例:假设系统版本开始为0,A客户端开始一个事务,执行一条插入语原创 2020-07-14 23:15:26 · 542 阅读 · 0 评论 -
Mysql锁、锁区间,MVCC以及zookeeper分布式锁面试要点解析
1.Mysql锁行级:共享锁:只允许读和继续加共享锁,直到commit释放完所有共享锁后才可以写排它锁:某一事务加上排它锁后,只有该事务才可以进行增删改查,其他并发事务不可以表级:意向锁:我的理解是:意向锁不是锁。怎么说呢?例如,当我们要进行表中某字段所有行进行更改时,比如说:update table set sal = sal+1时,要确保其他事务不会在当中的任意一行进行读写操作,也就是说要确保每一行都没有事务在对该记录进行操作,因此我们需要一种提示,意向锁就应运而生了,当有一个及一个以上原创 2021-02-08 21:54:00 · 213 阅读 · 0 评论