3-MySQL篇-4

简介: 本文详解MySQL性能优化三大维度:设计上选合适引擎(InnoDB/MyISAM)、字段类型与范式;功能上优化索引、缓存、分库分表;架构上主从复制、读写分离。另涵盖超大分页优化、慢查询定位及EXPLAIN执行分析方法。(239字)

16. mysql的性能优化

  1. 从设计方面 选择合适的存储引擎 , 合适的字段类型 , 遵循范式(反范式设计)
  1. 存储引擎 : 不需要事务, 不需要外键读写较多的的使用MyIsam需要事务, 需要外键的使用InnoDB
  2. 合适的字段类型 , 例如 : 定长字符串用char , 不定长用varchr状态, 性别等有限数量值的用tinyint
  3. 遵循范式 :第一范式1NF,原子性第二范式2NF,消除部分依赖第三范式3NF,消除传递依赖

2.从功能方面可以对索引优化,采用缓存缓解数据库压力,分库分表。

3.从架构方面可以采用主从复制,读写分离,负载均衡

17. MYSQL超大分页怎么处理 ?

MYSQL 不是跳过offset行, 而是取offset+N行, 然后放弃前offset行 , 返回N行, 所以当offset比较法的情况下分页效率很低

正确的处理方法是 : 先快速定位需要获取的id再关联查询获取数据

18. 如何定位慢查询 ?

可以在MYSQL配置文件中开启慢查询 , 有两种方式可以开启慢查询

方式一 : 修改my.ini配置文件 , 重启 MySQL 生效

[mysqld]
log_output='FILE,TABLE'
slow_query_log='ON'
long_query_time=0.001

方式二 : 设置全局变量

SET GLOBAL slow_query_log = 'ON';
SET GLOBAL log_output = 'FILE,TABLE';
SET GLOBAL long_query_time = 0.001;

19. 一个SQL语句执行很慢, 如何分析

首先可以开启慢查询, 通过慢查询日志或者命令, 获取到执行慢的SQL语句 , 其次可以使用EXLPAIN命令分析SQL语句的执行过程

EXLPAIN命令, 比较重要的字段(加黑加粗的是重要的) :

select_type重点解读

type重点解读:查询性能从上到下依次是最好到最差

extra重点解读

目录
相关文章
|
5月前
|
存储 NoSQL 算法
4-Redis篇-2
本文详解Redis集群架构与核心机制:采用哨兵集群(1主2从+3哨兵)保障高可用;对比主从复制、哨兵、Cluster分片三大方案;解析主从同步的全量/增量复制流程;说明Cluster基于16384哈希槽的分片存储原理;简述MULTI/EXEC等事务命令及实际使用情况。(239字)
255 6
|
5月前
|
Java 应用服务中间件 Maven
5-微服务篇-1
本文详解SpringBoot核心机制:①自动装配原理——通过@SpringBootApplication→@EnableAutoConfiguration→AutoConfigurationImportSelector→spring.factories加载条件化配置类;②启动流程三阶段:初始化、上下文创建、自动配置;③常用起步依赖、配置文件类型(properties/YAML)及加载优先级;④四种运行方式。
340 23
|
5月前
|
存储 缓存 NoSQL
4-Redis篇-1
本文详解Redis在项目中的三大应用:热点缓存、业务数据存储(如验证码、排行榜)及分布式锁;涵盖5种基础数据类型、RDB/AOF双持久化机制、惰性+定期混合过期策略,以及8种内存淘汰策略。
263 19
|
5月前
|
缓存 NoSQL 关系型数据库
4-Redis篇-3
Redis与Memcached在数据结构、集群支持及持久化上差异显著;内存满时Redis可淘汰或报错;与MySQL一致性可通过删缓存+双写、MQ异步、过期策略等方案分级保障;缓存穿透用布隆过滤器,击穿靠预热、永不过期或加锁限流。(239字)
236 8
|
5月前
|
SQL 存储 关系型数据库
3-MySQL篇-3
本文详解MySQL索引核心概念:回表查询(先查索引再查主键)、覆盖索引(索引含所有查询字段,避免回表)、左前缀原则(联合索引最左匹配);并列举索引失效场景及建索引最佳实践。
216 0
|
3月前
|
存储 关系型数据库 MySQL
7-事务控制篇-4
InnoDB支持事务、行级锁、外键及聚簇索引,具备崩溃恢复能力,是MySQL 5.5+默认引擎;MyISAM不支持事务与行锁,仅表级锁,存行数、用非聚簇索引,适合读多写少场景。
192 5
|
3月前
|
存储 缓存 关系型数据库
7-事务控制篇-6
B树是自平衡多路搜索树,m阶B树中非叶节点关键字数=子节点数−1,所有叶子同层;B+树则仅内节点存索引、叶子存数据且链表相连,更优IO与范围查询;ACID通过undo/redo日志、锁机制等保障事务可靠。(239字)
161 3
|
3月前
|
SQL 关系型数据库 MySQL
7-事务控制篇-7
本文简述MySQL三大核心要点:联合索引的最左匹配原则(从左依次匹配,范围查询后失效)、SQL执行顺序(FROM→JOIN→WHERE→GROUP BY→HAVING→SELECT→ORDER BY→LIMIT),以及常见索引失效场景(如LIKE前导%、OR单边无索引、隐式类型转换、函数/运算操作等),并指出EXPLAIN是诊断索引是否生效的关键工具。(239字)
351 2
|
5月前
|
缓存 NoSQL 调度
4-Redis篇-4
本文详解Redis三大核心问题:缓存雪崩(大量key同时失效,需加随机过期时间)、热点数据保障(采用LFU淘汰策略)、分布式锁实现(基于SETNX,解决死锁、超时、归一、可重入及阻塞等问题),并附实战应用案例。
233 12
|
5月前
|
存储 安全 Java
1-Java基础篇-3
本文详解Java集合与并发核心机制:HashMap扩容(阈值0.75、2倍扩容、节点重哈希优化);ConcurrentHashMap演进(1.7分段锁 vs 1.8 CAS+synchronized);线程创建4种方式及Runnable/Callable差异;synchronized与Lock锁对比;以及线程池队列满时的处理策略。
168 2

热门文章

最新文章