当前位置:首页 > 技术分析 > 正文内容

[mysql查询优化]你需要知道的分区,提升查询效率的利器

ruisui883个月前 (02-03)技术分析30

背景

周末的一天早上,突然程序员李四收到了技术总监的一个电话:老板周末看BI数据,数据半天出不来,你赶紧优化下。老板今天约了投资方,要给投资方看数据,千万不能出现纰漏,你辛苦下紧急处理下。

李四揉了揉睡眼惺忪的眼睛,心中 一句:我靠,这个怎么偏偏周末出问题,先不想投资成功能不能加薪,要是投资不成功,可能连饭碗都不保。

李四分析了查询慢的原因后,结合老板需要查询最近几个月维度的数据后果断选择了一个提高查询性能的方法:分区

分区概念

将大表分成多个较小的物理部分,每个部分称为一个分区。目的是提高查询性能。

分区的类型

  1. 范围分区(Range Partitioning):根据某个列的值范围进行分区【比如日期】。
  2. 列表分区(List Partitioning):根据某个列的离散值进行分区【比如城市】。
  3. 哈希分区(Hash Partitioning):根据某个列的哈希值进行分区【比如ID】。
  4. 复合分区(Composite Partitioning):结合两种或多种分区方法,如范围分区和哈希分区。

分区的创建(MySQL为例)

分区表的维护

动态的添加和删除分区

查看分区

检验效果

分区前查询全表 1万多条数据

分区后只查询6个区域的5千多条数据

数据量越大效果越明显。

最后

希望大家在进行查询时,立马能想到用这个技能来优化查询。

扫描二维码推送至手机访问。

版权声明:本文由ruisui88发布,如需转载请注明出处。

本文链接:http://www.ruisui88.com/post/1059.html

标签: 查询优化
分享给朋友:

“[mysql查询优化]你需要知道的分区,提升查询效率的利器” 的相关文章

Ubuntu 24.10发行版登场:Linux 6.11内核、GNOME 47桌面环境

IT之家 10 月 11 日消息,Canonical 昨日发布新闻稿,正式推出代号为 Oracular Oriole 的 Ubuntu 24.10 发行版。新版在内核方面升级到最新 6.11 版本,并采用 GNOME 47 桌面环境。Ubuntu 24.10 发行版调整了内核策略,开始选择最新的上游...

Git 分支管理策略汇总

最近,团队新入职了一些小伙伴,在开发过程中,他们问我 Git 分支是如何管理的,以及应该怎么提交代码?我大概说了一些规则,但仔细想来,好像也并没有形成一个清晰规范的流程。所以查了一些资料,总结出下面这篇文章,一共包含四种常见的分支管理策略,分享给大家。Git flow在这种模式下,主要维护了两类分支...

Python 幕后:Python导入import的工作原理

更多互联网精彩资讯、工作效率提升关注【飞鱼在浪屿】(日更新)Python 最容易被误解的方面其中之一是import。Python 导入系统不仅看起来很复杂。因此,即使文档非常好,它也不能让您全面了解正在发生的事情。唯一方法是研究 Python 执行 import 语句时幕后发生的事情。注意:在这篇文...

HTML5学习笔记三:HTML5语法规则

1.标签要小写2.属性值可加可不加””或”3.可以省略某些标签 html body head tbody4.可以省略某些结束标签 tr td li例:显示效果:5.单标签不用加结束标签img input6.废除的标签font center big7.新添加的标签将在下一HTML5学习笔记中重点阐述。...

你感动了吗?佳能超规格镜头 RF 24-105mm F2.8深度测评

如果要你选一支用作多题材创作的挂机镜头,那我相信很多人会选择24-105mm这个焦段的镜头。作为一支可以实现从广角到长焦的变焦镜头,24-105mm有着丰富的焦段选择。只是基于镜头体积以及光学结构上的限制,此前的24-105mm镜头只能恒定在F4的光圈。而佳能打破了这一限制,将实用焦段和恒定光圈完美...

虚幻引擎5.5现已发布 手游开发、动画制作重大改进

Epic在今天发布了虚幻引擎5.5,现可通过Epic Launcher下载。此版本在动画创作、渲染、虚拟制片、移动端游戏开发和开发人员迭代工具集等方面做出了重大改进。 官方博客:虚幻引擎5.5现已发布,在动画创作、虚拟制作和移动游戏开发方面取得了显著进步,渲染、摄像机内视觉特效和开发人员迭代等领域的...