MySQL-sql的优化

  1. 表的设计优化
  2. 索引优化
  3. SQL语句优化
  4. 主从复制、读写分离
  5. 分库分表

表的设计优化(参考阿里开发手册)

比如设置合适的数值(tinyint int bigint),要根据实际情况选择

比如设置合适的字符串类型(char和varchar) char定长效率高,varchar可变长度,效率稍低

SQL语句优化

SELECT语句务必指明字段名称(避免直接使用select * )

SQL语句要避免造成索引失效的写法

尽量用union all代替union union会多一次过滤,效率低

避免在where子句中对字段进行表达式操作

Join优化能用innerjoin 就不用left join right join,如必须使用一定要以小表为驱动,内连接会对两个表进行优化,优先把小表放到外边,把大表放到里边。left join或right join,不会重新调整顺序

主从复制、读写分离

如果数据库的使用场景读的操作比较多的时候,为了避免写的操作所造成的性能影响可以采用读写分离的架构。

读写分离解决的是,数据库的写入,影响了查询的效率。

相关推荐
霂鳯6 分钟前
新手勇闯网络安全 | MySQL基础(四)
mysql·web安全·adb
全栈陈序员15 分钟前
【Python】基础语法入门(三十三)—— 日志系统详解:用 logging 记录程序运行
java·开发语言·python
m0_6399069419 分钟前
MySQL 慢查询优化|explain执行计划详解
数据库·mysql
正儿八经的少年22 分钟前
MyBatis 一对一、一对多 SQL
数据库·sql·mybatis
她的男孩24 分钟前
低代码加字段后表结构怎么同步:预览安全 DDL,高风险变更再强制执行
java·spring boot·低代码
简简单单就是我_hehe30 分钟前
一次 ClickHouse 服务器磁盘告警的排查与修复实录
java·服务器·前端
Thomas.Sir35 分钟前
第11课:文件上传下载、跨域CORS配置,SpringBoot4.x跨域新方案
java·spring boot
wuminyu41 分钟前
JVM规范学习总结:class执行性能差异
java·linux·c语言·jvm·c++
ChaITSimpleLove41 分钟前
Layout.WatchDog.NET 1.5.0-beta.2 发布:.NET 实时应用监控再升级,新增资源监控看板与 SQLite 支持
mysql·mongodb·pgsql·mssql·litedb\sqlite·.net轻量级日志记录器·node资源监控看板
一条泥憨鱼1 小时前
【RabbitMQ】高级篇
java·分布式·rabbitmq·php·ruby