MySQL入门很简单-学习笔记 - 第18章 性能优化

本文深入探讨了MySQL数据库优化的关键技术,包括如何优化查询语句、利用索引、重构数据库结构、提升服务器硬件性能及调整MySQL参数。详细介绍了查询优化策略、索引的最佳实践、数据库表的分解与中间表的引入、冗余字段的增加、插入速度优化、表的分析与检查等核心内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

18.1、优化简介

SHOW STATUS LIKE ‘value’;

connections 连接数

uptime 启动时间

slow_queries 慢查询次数

com_select 查询操作次数

com_insert 插入操作次数

com_update 更新操作次数

com_delete 删除操作次数

18.2、优化查询

18.2.1、分析查询语句

Explain/desc select;

type: 连接类型

system 表中只有一条记录

const 表中有多条记录,但只从表中查询一条记录

all 对表进行了完整的扫描

eq_ref 表示多表连接时,后面的表使用了unique或PRIMARYKEY

ref 表示多表查询时,后面的表使用了普通索引

unique_subquery 表示子查询中合作了unique或primary key

index_subquery 表示子查询中使用了普通索引

range 表示查询中给出了查询的范围

index 表示对表中索引进行了完整的扫描

possible_key 表示查询中可能使用的索引

key 表示查询时使用到的索引

18.2.2、索引

1、走单列索引

2、走多列索引

3、不走索引的查询

Like 以 %开头的不走

Or 两边的列有一个没有建立索引不走索引

多列索引第一个字段没有使用不走索引

18.3、优化数据库结构

18.3.1、将字段很多的表分解成多个表

18.3.2、增加中间表

18.3.3、增加冗余字段

反范式

空间换时间

18.3.4、优化插入记录的速度

1、禁用索引

ALTERTABLE table DISABLE/ENABLE KEYS;

2、禁用唯一索引

STUNIQUE_CHECK=0/1

3、优化INSERT语句

使用 INSERT INTO table (f1,f2….fn) VALUES (v1,v2….vn),

(f1,f2….fn) VALUES (v1,v2….vn),

(f1,f2….fn) VALUES (v1,v2….vn),

代替多个INSERT INTO

18.3.5、分析、检查和优化表

ANALYZETABLE table1[, table2…]

CHECKTABLE table1[, table2…]

OPTIMIZE TABLE table1[, table2…]

优化文本字段,消除更新操作带来的碎片,减少空间浪费

18.4、优化MySQL服务器

18.4.1、优化服务器硬件

CPU

磁盘,阵列

内存

配置(专用服务器,大内存配置)

18.4.2、优化MySQL参数

my.ini

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值