
mysql
文章平均质量分 51
牛虻~
这个作者很懒,什么都没留下…
展开
-
mysql优化
目录数据类型优化主键的选择字符集的选择适当拆分适当的数据冗余索引优化sql语句优化数据类型优化尽量使用可以正确存储数据的最小数据类型更小的数据类型通常更快,因为它们占用更少的磁盘、内存和CPU缓存,并且处理时需要的CPU周期更少,但是要确保没有低估需要存储的值的范围,如果无法确认哪个数据类型,就选择你认为不会超过范围的最小类型整型比字符操作代价更低因为字符集和校对规则使字符比较比整型比较更复杂经常查询的列,应该尽量避免使用有null如果查询中包含可为NULL的列,对mysql来说很难优化,因原创 2021-04-03 23:37:27 · 109 阅读 · 0 评论 -
B树跟B+树的区别
B树每个节点都存储key和data,所有节点组成这棵树,并且叶子节点指针为null,当数据量大时,会导致树深度比较深B+树非叶子节点存放key,叶子节点存放data原创 2021-04-03 17:51:19 · 91 阅读 · 0 评论 -
InnoDB锁
共享/排它锁(Shared and Exclusive Locks)按照兼容性来分类,InnoDB有共享锁和排它锁两种行级锁。共享锁(S):又称读锁。允许一个事务去读一行,阻止其他事务获得相同数据集的排他锁。若事务T对数据对象A加上S锁,则事务T可以读A但不能修改A,其他事务只能再对A加S锁,而不能加X锁,直到T释放A上的S锁。这保证了其他事务可以读A,但在T释放A上的S锁之前不能对A做任何修改。排他锁(X):又称写锁。允许获取排他锁的事务更新数据,阻止其他事务取得相同的数据集共享读锁和排他写锁。若原创 2021-04-03 17:09:17 · 166 阅读 · 0 评论 -
事务的四个特性及隔离级别
原子性(A):一个事务中的操作,要么全部成功,要么全部失败一致性©:数据库总是从一个一致性的状态转换到另外一个一致性的状态隔离性(I):一个事务的修改在最终提交前,对其他事务是不可见的持久性(D):一旦事务提交,所做的修改就会永久保存到数据库中...原创 2021-04-03 13:52:37 · 130 阅读 · 0 评论 -
mysql名词解释
名词解释回表基于非主键索引的查询需要先扫描一遍B+树查询出主键id,然后根据主键再次进行扫描,最终返回查询出的数据覆盖索引在搜索的叶子节点中如果能获取到查询的所有列数据,无需回表的过程称之为索引覆盖最左匹配在一个表中,如果有组合索引,那么组合索引在进行查询的时候,遵循最左匹配,即必须要匹配到第一个列之后,才能匹配第二个列索引下推数据筛选的过程下移到存储引擎层来完成,而不是在server层完成...原创 2021-04-03 13:36:49 · 385 阅读 · 0 评论 -
mysql存储引擎对比
名称存储位置数据结构事务全文索引行锁外键索引类型数据文件后缀MyISAM磁盘B+树不支持支持不支持不支持非聚簇frm是表定义文件,ibd是数据文件InnoDB磁盘B+树支持5.6后支持支持支持聚簇frm是表定义文件,myd是数据文件,myi是索引文件memory内存hash...原创 2021-04-03 13:12:41 · 92 阅读 · 0 评论 -
mysql相关
变量大小能小则小尽量使用类型匹配的进行存储,例如,日期类型能用整形的情况下,绝不使用字符串如果可以避免的情况下,尽量不存储null如果字符串长度波动小,并且小于255以内,应该首选char修改数据类型,会导致锁表,所以慎用如果存储的字符串固定(例如 男/女) 用枚举代替字符串存储,数据库底层会采用1-2个字节进行存储适当的冗余,以空间换时间适当的拆分,将一些不常用的字段,拆分到另外一张表中,当需要用到这张表的数据时,进行关联查询使用到索引时,采用索引全匹配/索引最左匹配/索引前缀匹配( .原创 2021-03-19 19:59:55 · 107 阅读 · 0 评论