阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

MySQL优化查询的方法

443次阅读
没有评论

共计 1484 个字符,预计需要花费 4 分钟才能阅读完成。

对于 MySQL 数据库,优化查询的方法

1. 使用索引

使用索引时,应尽量避免全表扫描,首先应考虑在 where 及 order by,group by 涉及的列上建立索引。

2. 优化 SQL 语句

1)分析查询语句:通过对查询语句的分析,可以了解查询语句执行情况,找出查询语句执行的瓶颈,从而优化查询语句。

通过 explain(查询优化神器)用来查看 SQL 语句的执行结果,可以帮助选择更好的索引和优化查询语句,写出更好的优化语句。

例如:explain select * from news;

2)任何地方都不要使用 select * from t,用具体的字段列表代替“*”,不要返回用不到的任何字段。

3)不在索引列做运算或者使用函数。

4)查询尽可能使用 limit 减少返回的行数,减少数据传输时间和带宽浪费。

3. 优化数据库对象

1)优化表的数据类型

使用 procedure analyse() 函数对表进行分析,该函数可以对表中列的数据类型提出优化建议。表数据类型第一个原则是:使用能正确地表示和存储数据的最短类型。这样可以减少对磁盘空间、内存、CPU 缓存的使用。

使用方法:select * from 表名 procedure analyse();

2)对表进行拆分

通过拆分表可以提高表的访问效率。有两种拆分方法:

a. 垂直拆分(按照功能模块)

将表按照功能模块、关系密切程度划分出来,部署到不同的库上。例如:我们会建立定义数据库 workDB、商品数据库 payDB、用户数据库 userDB 等,分别用于存储项目数据定义表、商品定义表、用户数据表等。

把主键和一些列放在一个表中,然后把主键和另外的列放在零一个表中。如果一个表中某些列常用,而另外一个些不常用,则可以采用垂直拆分。

            MySQL 优化查询的方法

b. 水平拆分(按照规则划分存储

当一个表中的数据量过大时,我们可以把该表的数据按照某种规则进行划分,例如 userID 散列,然后存储到多个结构相同的表和不同的库中。

根据一列或者多列数据的值吧数据行放到两个独立的表中。

MySQL 优化查询的方法

3)使用中间表来提高查询速度

创建中间表,表结构和源表结构完全相同,转移要统计的数据到中间表,然后在中间表上进行统计,得出想要的结果。

4. 硬件优化

1)CPU 优化

选择多核和主频高的 CPU。

2)内存的优化

使用更大的内存。将尽量多的内存分配给 MySQL 做缓存。

3)磁盘 I / O 的优化

a. 使用磁盘阵列

RAID 0 没有数据冗余,没有数据校验的磁盘陈列。实现 RAID 0 至少需要两块以上的硬盘,它将两块以上的硬盘合并成一块,数据连续地分割在每块盘上。

RAID 1 是将一个两块硬盘所构成 RAID 硬盘阵列,其容量仅等于一块硬盘的容量,因为另一块只是当作数据“镜像”。

使用 RAID-0+ 1 磁盘阵列。RAID 0+ 1 是 RAID 0 和 RAID 1 的组合形式。它在提供与 RAID 1 一样的数据安全保障的同时,也提供了与 RAID 1 近似的存储性能。

b. 调整磁盘调度算法

选择合适的磁盘调度算法,可以减少磁盘的寻道时间。

5.MySQL 自身的优化

对 MySQL 自身的优化主要是对其配置文件 my.cnf 中的各项参数进行优化调整。如指定 MySQL 查询缓冲区的大小,指定 MySQL 允许的最大连接进程数等。

6. 应用优化

1)使用数据库连接池

2)实用查询缓存

它的作用是存储 select 查询的文本及其相应结果。如果随后收到一个相同的查询,服务器会从查询缓存中直接得到查询结果。查询缓存适用的对象是更新不频繁的表,当表中数据更改后,查询缓存中的相关条目就会被清空。

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-22发表,共计1484字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19350
评论数
4
阅读量
7958718
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
星哥带你玩飞牛 NAS-10:备份微信聊天记录、数据到你的NAS中!

星哥带你玩飞牛 NAS-10:备份微信聊天记录、数据到你的NAS中!

星哥带你玩飞牛 NAS-10:备份微信聊天记录、数据到你的 NAS 中! 大家对「数据安全感」的需求越来越高 ...
星哥带你玩飞牛NAS-11:咪咕视频订阅部署全攻略

星哥带你玩飞牛NAS-11:咪咕视频订阅部署全攻略

星哥带你玩飞牛 NAS-11:咪咕视频订阅部署全攻略 前言 在家庭影音系统里,NAS 不仅是存储中心,更是内容...
星哥带你玩飞牛NAS-16:飞牛云NAS换桌面,fndesk图标管理神器上线!

星哥带你玩飞牛NAS-16:飞牛云NAS换桌面,fndesk图标管理神器上线!

  星哥带你玩飞牛 NAS-16:飞牛云 NAS 换桌面,fndesk 图标管理神器上线! 引言 哈...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
【开源神器】微信公众号内容单篇、批量下载软件

【开源神器】微信公众号内容单篇、批量下载软件

【开源神器】微信公众号内容单篇、批量下载软件 大家好,我是星哥,很多人都希望能高效地保存微信公众号的文章,用于...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
浏览器自动化工具!开源 AI 浏览器助手让你效率翻倍

浏览器自动化工具!开源 AI 浏览器助手让你效率翻倍

浏览器自动化工具!开源 AI 浏览器助手让你效率翻倍 前言 在 AI 自动化快速发展的当下,浏览器早已不再只是...
免费无广告!这款跨平台AI RSS阅读器,拯救你的信息焦虑

免费无广告!这款跨平台AI RSS阅读器,拯救你的信息焦虑

  免费无广告!这款跨平台 AI RSS 阅读器,拯救你的信息焦虑 在算法推荐主导信息流的时代,我们...
每天一个好玩的网站-手机博物馆-CHAZ 3D Experience

每天一个好玩的网站-手机博物馆-CHAZ 3D Experience

每天一个好玩的网站 - 手机博物馆 -CHAZ 3D Experience 一句话介绍:一个用 3D 方式重温...
300元就能买到的”小钢炮”?惠普7L四盘位小主机解析

300元就能买到的”小钢炮”?惠普7L四盘位小主机解析

  300 元就能买到的 ” 小钢炮 ”?惠普 7L 四盘位小主机解析 最近...
星哥带你玩飞牛NAS-14:解锁公网自由!Lucky功能工具安装使用保姆级教程

星哥带你玩飞牛NAS-14:解锁公网自由!Lucky功能工具安装使用保姆级教程

星哥带你玩飞牛 NAS-14:解锁公网自由!Lucky 功能工具安装使用保姆级教程 作为 NAS 玩家,咱们最...