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,不会重新调整顺序

主从复制、读写分离

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

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

相关推荐
怨言.12 小时前
Java内部类详解:从基础概念到实战应用(附案例)
java·开发语言
XiYang-DING12 小时前
【Java】 Java 集合框架
java·开发语言
心勤则明13 小时前
Spring AI Alibaba Skills 的渐进式披露与热更新实战
java·后端·spring
netyeaxi13 小时前
Spring:如何查看Spring应用对外提供了哪些API接口?
java·spring
一只大袋鼠13 小时前
MySQL 事务从入门到精通(上):概念、操作、特性、隔离级别全解析
java·mysql·事务
若鱼191913 小时前
JPA/Hibernate中一对一关联时不持有外键方的属性延迟加载为什么不生效?
java·spring
砍材农夫13 小时前
spring-ai 第八模型介绍-图像模型
java·人工智能·spring
川trans13 小时前
基于 Docker & K8s 的 MySQL 容器化部署与应用关联实践
mysql·docker·kubernetes
橘子hhh13 小时前
Netty基础服务器实现
java·nio
墨雪遗痕13 小时前
工程架构认知(二):从 CDN 到 Keep-Alive,理解流量如何被“消化”在系统之外
java·spring·架构