mysql
mysql
WRY_
这个作者很懒,什么都没留下…
展开
-
数据库四大事务特性
A:原子性(Atomic),一个事务作为一个最小执行单元,里面的sql要么全部执行要么全部失败或者回滚C:一致性(Consistency),在一致性状态下,所有事务对一个数据的读取结果都是相同的,例:张三给李四转账100元,其他事务要么看到张三还没给李四转账的状态,要么张三已经给李四转账成功张三少100李四多100,而在张三少100李四的100没有加上的中间状态是不可见的I:隔离性(Isolation)重点,多个事务并发执行时,一个事务执行不应该影响其他事务的执行D:持久性(Durability),一原创 2020-12-16 19:42:41 · 190 阅读 · 0 评论 -
锁相关
1.MyISAM与InnoDB关于锁方面的区别是什么InnoDB默认使用的是行级锁,也支持表级锁涉及有索引的sql语句使用行级锁,没有走索引的sql语句直接使用的时表锁MyISAM默认用的是表级锁,不支持行级锁1.表级锁会锁住整张表2.锁类型共享锁:用于不更改或者不更新数据只读的操作,如select语句,例如事务T对数据A加上共享锁后,其他事务只能对A再加上共享锁,只能读数据,不能修改数据对于select 语句InnoDB一般情况下是不会加共享锁,(正常情况能查原创 2020-12-15 00:59:29 · 109 阅读 · 0 评论 -
sql相关的调优
调优1.开启慢日志查询需要注意:当前的慢日志查询只有在当前的查询窗口中才会有,在新的查询窗口中慢日志查询记录就会消失需要注意:在查询界面窗口开启慢日志查询只对当前数据库生效,在重启后会失效,如果要永久生效,需要修改mysql配置文件 my.cnf文件 slow_query_log=1 slow_query_log_file=(filePath)2.使用Explain对sql进行分析1.字段id,id越大说明当前sql越先执行2.type:找到数据行的方式,值有很多,只原创 2020-12-15 00:55:45 · 93 阅读 · 0 评论 -
InooDB与MyISAM
存储引擎密集索引与稀疏索引密集索引文件中的每个搜索码值都对应一个索引值稀疏索引文件只为索引码的某些值建立索引项密集索引:InnoDB索引检索流程:定义:叶子节点不仅保存的是搜索的键值,还保存了当前行其他列的信息(简单理解就是其中一个叶子节点就是表中的一行数据),密集索引的顺序决定了表的物理顺序inooDB中:每个表必须有且仅有一个密集索引选取规则1,如果一个主键被定义,该主键则作为一个密集索引选取规则2.如果没有主键,则表中第一个唯一非空索引作为密集索引选原创 2020-12-15 00:52:00 · 132 阅读 · 0 评论 -
索引的总结
索引二叉查找树查找效率:O(logn)在数据量多的情况下,会造成二叉树层数过多,增加io次数(每切换一层二叉树节点增加一次io次数)查找的io次数过多,相对会频繁发生删除新增数据对树结构调整的次数,消耗过多的数据库资源每个节点存储的数据过少,只有左右两个孩子B树定义1:根节点至少包括两个子节点定义2:树中每个节点最多含有m个孩子(m>=2)定义3:除根节点和叶子节点外,其他每个节点至少有ceil(m/2)个孩子 (取上限3=3/2)定义4:所有叶子节点都位原创 2020-12-15 00:44:58 · 141 阅读 · 0 评论