MYSQL
文章平均质量分 92
图文详解MYSQL基础,索引,日志,事务与锁,性能优化
Hogwarts扫地老太太
不会机器学习的数据农民工不是好的程序媛
展开
-
MYSQL性能优化——基于成本的优化
我们之前老说MySQL执行一个查询可以有不同的执行方案,它会选择其中成本最低,或者说代价最低的那种方案去真正的执行查询。I/O成本我们的表经常使用的MyISAM、InnoDB存储引擎都是将数据和索引都存储到磁盘上的,当我们想查询表中的记录时,需要先把数据或者索引加载到内存中然后再操作。这个从磁盘到内存这个加载的过程损耗的时间称之为I/O成本。CPU成本读取以及检测记录是否满足对应的搜索条件、对结果集进行排序等这些操作损耗的时间称之为CPU成本。原创 2023-09-18 22:20:02 · 275 阅读 · 0 评论 -
MySQL性能优化——MYSQL执行流程
MySQL 执行流程1-5如下图。MySQL 的架构共分为两层:Server 层和存储引擎层,原创 2023-09-18 05:53:25 · 524 阅读 · 0 评论 -
MYSQL性能优化——SQL 性能分析
因此,弄明白了explain语法返回的每一项结果,我们就能知道查询大致的运行时间了,如果查询里没有用到索引、或者需要扫描的行过多,那么可以感到明显的延迟。因此需要改变查询方式或者新建索引。mysql中的explain语法可以帮助我们改写查询,优化表的结构和索引的设置,从而最大地提高查询效率。当然,在大规模数据量时,索引的建立和维护的代价也是很高的,往往需要较长的时间和较大的空间,如果在不同的列组合上建立索引,空间的开销会更大。因此索引最好设置在需要经常查询的字段中。一条查询,如果执行时间很长就是慢查询。原创 2023-09-18 02:58:35 · 378 阅读 · 0 评论 -
MYSQL索引——B+树讲解
B+Tree是B树的变种,有着比B树更高的查询性能,来看下m阶B+Tree特征:有m个子树的节点包含有m个元素(B-Tree中是m-1)根节点和分支节点中不保存数据,只用于索引,所有数据都保存在叶子节点中。所有分支节点和根节点都同时存在于子节点中,在子节点元素中是最大或者最小的元素。叶子节点会包含所有的关键字,以及指向数据记录的指针,并且叶子节点本身是根据关键字的大小从小到大顺序链接。红点表示是指向卫星数据的指针,指针指向的是存放实际数据的磁盘页,卫星数据就是数据库中一条数据记录。原创 2023-09-12 20:43:47 · 772 阅读 · 0 评论