码农知识堂 - 1000bd
Python
PHP
JS/TS
JAVA
C/C++
C#
GO
Kotlin
Swift
MySQL优化策略
一、查询优化思路
使用索引列查询时,不要使用表达式,将计算放在业务层。
尽可能使用主键索引,不要使用其他索引(如果不会导致回标的情况除外)
前缀索引:使用索引的列字符较长,可使用部分前缀字符组件索引,从而节约索引空间,提高索引效率。
使用索引扫描排序。
where中使用 有索引列 or无索引列 不走索引。
范围查询条件用到索引,只有第一个范围查询条件会用到索引,后续的条件不会用到索引。
数据类型转换,字符可以转换为数字,但是字符串转为数字会导致索引失效。
更新频繁,数据区分度不高的字段不宜建索引(性别)
创建索引的列值不要置为NULL,不然可能导致混乱。
数据表join连接,不宜超过三张表,表关联的字段类型要保持一致,不然不会走索引。
尽可能使用limit。
索引覆盖。
优化关联查询,大数据量情况下,通过一个冗余字段关联两个表。如果A关联B,则只需要在B表(被驱动表)关联字段建立索引即可(两表关联查询使用嵌套循环)。确保任何的group by和order by表达式中只使用一个表的列,这样才能走索引
使用索引列扫描排序。
联合索引要遵守最左匹配原则。
避免在索引上使用内联函数。
二、整体优化思路
三、连接配置优化
服务端优化:增连连接数量,及时释放不活动的连接。
客户端优化:减少和服务端的连接次数,使用
连接池
(阿里的Druid、Hikari)。
四、架构优化
使用缓存
读写分离:主从复制、集群。
分库分表:垂直分库/表(减轻并发压力)、水平分库/表(解决存储瓶颈)。
分库分表常见问题
。
消息队列削峰。
优化器-SQL分析与优化
慢查询:开启慢查询日志,慢日志分析
慢日志查询的工具mysqldumpslow
。
EXPLAIN执行计划:
SQL优化:小表驱动大表、尽量避免使用select*、统计时尽量使用count(
),count(
)≈count(1),大于count(主键)、
索引优化:前缀索引优化、覆盖索引优化、主键索引最好是自增的、防止索引失效。
防止索引失效。
相关阅读:
【Android笔记02】Android目录结构及相关文件介绍
【Angular】01安装与脚手架
2 files found with path ‘META-INF/lib_release.kotlin_module’
Android系统10 RK3399 init进程启动(二十八) SeAndroid政策兼容性
回归测试策略指南
CXP 协议中upconnection 与downconnection的说明及其区别
多模态大模型时代下的文档图像智能分析与处理
vue3项目学习一:创建vue3项目
鲜花商城|基于Springboot实现鲜花商城系统
WebDAV之葫芦儿·派盘+i简记
原文地址:https://blog.csdn.net/peng_shakalaka/article/details/127656497
最新文章
攻防演习之三天拿下官网站群
数据安全治理学习——前期安全规划和安全管理体系建设
企业安全 | 企业内一次钓鱼演练准备过程
内网渗透测试 | Kerberos协议及其部分攻击手法
0day的产生 | 不懂代码的"代码审计"
安装scrcpy-client模块av模块异常,环境问题解决方案
leetcode hot100【LeetCode 279. 完全平方数】java实现
OpenWrt下安装Mosquitto
AnatoMask论文汇总
【AI日记】24.11.01 LangChain、openai api和github copilot
热门文章
十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
奉劝各位学弟学妹们,该打造你的技术影响力了!
五年了,我在 CSDN 的两个一百万。
Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
面试官都震惊,你这网络基础可以啊!
你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
心情不好的时候,用 Python 画棵樱花树送给自己吧
通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
13 万字 C 语言从入门到精通保姆级教程2021 年版
10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系
2656653265@qq.com
京ICP备2022015340号-1
正则表达式工具
cron表达式工具
密码生成工具
京公网安备 11010502049817号