
MySQL
文章平均质量分 74
雪人奥特曼Q
这个作者很懒,什么都没留下…
展开
-
数据库优化方式——分库,分表,分区
为了解决的问题:因为数据量过大而导致的数据库性能的下降问题分库的好处:降低单台机器的负载压力分表的好处:提高数据操作的效率:降低写入、更新、删除(一般项目中不会对数据库中的数据物理删除,只会做逻辑删除)时候建立索引的开销。提高运行时候的效率,提高并发量。分库分表带来的挑战分布式id的创建:确保id的唯一性,并且保证库表中的均匀分布。订单系统 使用自己的序列号生成器。核心算.........原创 2020-06-11 16:08:56 · 529 阅读 · 0 评论 -
索引_存储结构
目录不同数据库使用的索引存储结构聚簇索引 和 非聚簇索引MongoDB 和Mysql 使用的索引 的 存储结构B-Tree 和 B+Tree相关介绍MySql 采用的是 B+Tree(真正的data都存放在最底层的叶子节点上)的存储形式:Mysql 是一种关系型数据库,区间访问是常见的一种情况,而 B-树并不支持区间访问(可参见上图),而B+树由于数据全部存储在叶子节点,并且通过指针串在一起,这样就很容易的进行区间遍历甚至全部遍历。其次B+树的查询效率更加稳定,..原创 2020-07-09 00:25:13 · 3333 阅读 · 0 评论 -
SQL语句调优——explain
Mysql中的explain命令可以用来查看sql语句是否使用了索引,使用的什么索引,有没有做全表扫描。可以帮助我们优化查询语句。参考文章原创 2020-06-18 18:04:29 · 292 阅读 · 0 评论 -
MySQL-join语句
MySQL 执行 join 语句的两种可能算法,这两种算法是由能否使用被驱动表的索引决定的。而能否用上被驱动表的索引,对 join 语句的性能影响很大。一、指定驱动表直接使用 join 语句,MySQL 优化器可能会选择表 t1 或 t2 作为驱动表,用 straight_join 让 MySQL 使用固定的连接方式执行查询,来指定join顺序。以下sql,指定了t1来做驱动表,t2是被驱动表select * from t1 straight_join t2 on (t1.a=t2..原创 2021-03-16 00:17:25 · 420 阅读 · 0 评论 -
MySQL-慢查询的性能问题
MySQL实战-22【5525】- 06:45原创 2021-03-15 15:34:09 · 153 阅读 · 0 评论 -
MySQL-order by 是怎么工作的?
在开发系统的时候,你总是不可避免地会使用到 order by 语句。你心里要清楚每个语句的排序逻辑是怎么实现的,还要能够分析出在最坏情况下,每个语句的执行对系统资源的消耗,这样才能做到下笔如有神,不犯低级错误。MySQL实战-16【5525】...原创 2021-03-12 15:47:33 · 187 阅读 · 0 评论 -
MySQL-幻读
可重复读的事务隔离级别下出现的问题 ——幻读。MySQL实战-20【5525】原创 2021-03-12 14:10:36 · 202 阅读 · 0 评论 -
Mysql——事务隔离级别
数据库事务的隔离级别:读取未提交 读取已提交 可重复读 串行化查看当前数据库的事务隔离级别的方式:SELECT @@tx_isolation;设置数据库的隔离级别:set session transaction isolation levelread uncommitted;...原创 2020-08-27 16:46:23 · 113 阅读 · 0 评论 -
MySQL- 索引字段的函数使用
目录条件字段函数操作:对索引字段做函数操作,可能会破坏索引值的有序性,因此优化器就决定放弃走树搜索功能。进行全表扫描。隐式类型转换:字符串和数字做比较的话,是将字符串转换成数字。隐式字符编码转换:比较字段使用不同的字符集,utf8和utf8mb4 。解决办法:对于需要进行转换后进行比较的字段,可以选择将函数是加在输入参数上的,这样可以使用索引。条件字段函数操作:Mysql中规定,如果对字段做了函数计算,就用不上索引了。索引的B+Tree提供快速定位能力,来源于同一层兄弟节...原创 2021-03-11 20:20:27 · 1341 阅读 · 0 评论 -
MySQL-为字符串增加索引的方式
目录一、前缀索引降低字符串长度,降低内存占用,从而提高搜索效率。截取前缀索引需要注意:区分度和内存占用间取得平衡前缀索引对覆盖索引的影响:无法使用覆盖索引的优化二、其他索引方式1、使用倒序存储,再创建前缀索引 解决区分度问题2、使用hash字段增加额外字段3、倒叙存储和hash字段的比较(空间占用,cpu消耗,查询效率)倒叙存储和hash字段,都无法支持范围查询,只可以进行等值查询。一、前缀索引现在,几乎所有的系统都支持邮箱登录,如何在邮箱这样的字段上建立合理...原创 2021-03-10 23:56:07 · 253 阅读 · 0 评论 -
MySQL-普通索引和唯一索引应该如何选择?
MySQL实战-09【5525】原创 2021-03-10 17:35:28 · 117 阅读 · 1 评论 -
MySQL-索引
一、常见的索引模型:索引的出现是为了提高查询效率,但是实现索引的方式却有很多种MySQL实战-04【5525】原创 2021-03-10 10:53:11 · 185 阅读 · 0 评论 -
MySQL-概述
一、MySQL的架构:MySQL实战-01【5525】MySQL 可以分为 Server 层和存储引擎层两部分。Server 层:包括连接器、查询缓存、分析器、优化器、执行器等,涵盖 MySQL 的大多数核心服务功能,以及所有的内置函数(如日期、时间、数学和加密函数等),所有跨存储引擎的功能都在这一层实现,比如存储过程、触发器、视图等。查询缓存:MySQL 拿到一个查询请求后,会先到查询缓存看看,之前是不是执行过这条语句。但是大多数情况下我会建议你不要使用查询缓存,查询缓存的失效非常原创 2021-03-10 01:02:19 · 245 阅读 · 1 评论 -
MySQL——基础架构:一条SQL查询语句是如何执行的?
MySQL实战45讲-02原创 2021-02-23 15:27:54 · 94 阅读 · 0 评论