mysql
文章平均质量分 95
毛龙蛋
crud资深工程师
展开
-
4、mysql索引优化二:SQL优化实践
1、索引设计原则以Innodb为例,在了解了索引组成之后,我们知道,一个索引mysql都会以一颗B+树来表示,索引建的越多,B+树也就越多,那么mysql维护成本就越高(比如表中数据增删改,都会涉及到每个索引树的变更,甚至是树的重平衡以及page页分裂等这样的重量级变更),占用磁盘空间也就越大,有时反而会影响SQL执行性能。所以我们在设计索引时,不能一味地增加索引,索引并不是越多越好,而是应该根据自己的项目业务情况来合理地设计索引,尽量以联合索引代替多个单值索引,这样可以减少索引的数量,降低索引的维护成本原创 2022-01-15 18:00:39 · 562 阅读 · 1 评论 -
3、mysql索引优化一:Explain关键字分析
作为一个Java开发,在我们日常工作中,对于mysql的使用中涉及最多的恐怕就是写SQL了,一定遇到过sql执行慢的问题,那么SQL优化工作就显得格外重要。有了对mysql执行过程以及索引实现原理了解的基础,如果不熟悉可以参考之前两篇博客:《mysql架构组成》、《mysql索引实现原理》,接下来我会就日常工作中一些常见的SQL使用场景进行优化分析讲解,不过在讲解之前,需要先熟悉Explain关键字的使用,Explain是mysql为我们提供的一个非常重要的SQL分析工具:Explain关键字,借助它我们能原创 2022-01-15 17:52:18 · 1008 阅读 · 0 评论 -
2、mysql索引实现原理
说到索引,想必大家都不陌生,引用百度百科对索引的定义:在关系数据库中,索引是一种单独的、物理的对数据库表中一列或多列的值进行排序的一种存储结构,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。从这个定义中我们可以知道3个信息:索引是一种数据结构;索引是有序的数据结构;索引可以提高数据检索效率。本文主要就这3点来进行展开介绍。一、索引是一种数据结构计算机专业的同学都学过数据结构这门课,适合来实现索引的常见的数据结构无非就那么几种:有序列表(sorted list)原创 2021-11-21 18:19:35 · 1324 阅读 · 0 评论 -
1、mysql架构组成
mysql想必大家都不陌生,是当前最流行的一款关系型数据库产品之一,与其它数据库相比更加灵活,能够适应更多的应用场景。举个例子,存储引擎是mysql最特别的特性,它提供了多种存储引擎可供我们选择,同时它的存储引擎架构将查询处理、数据存储/提取以及其它系统任务相分离,接下来让我们一起进入mysql的世界探索吧。mysql架构上图摘自《高性能mysql第三版》一书,可以看出,mysql的组成总体分为两层:server层和存储引擎层,而server层又可以细分为多个组件:连接处理、查询缓存、分析器、解析原创 2021-11-12 16:58:04 · 3009 阅读 · 0 评论