mysql 语句优化

14 篇文章 0 订阅

在优化之前需要对索引稍微的了解一下。可以以下连接进行查看https://blog.csdn.net/assassinsshadow/article/details/79956820

sql优化的一般步骤:
通过show status 命令了解了解SQL的执行效率。
通过explain分析低效SQL的执行计划
如图:
这里写图片描述
重要的列进行说明:
select_type:表示select的类型,常见的取值有SIMPLE,PRIMARY,UNION,SUBQUERY
table:输出结果集的表。
type:表示mysql在表中找到所需行的方式,或者叫访问类型。
ALL, index,range, ref , eq_ref, const,system, NULL
从左至右,性能越来越好。
通过show profile 分析sql
这里写图片描述

这里写图片描述

常用SQL优化

  1. 优化insert语句
    如果插入行数据较多,尽量使用insert into test values(1,2),(1,3),(1,4)
  2. 优化order by语句
    where条件和order by 尽量使用同一个索引
  3. 优化group by
    可以使用order by null 禁止排序
  4. 优化or
    or只对单个字段的索引有效果,对组合索引无效
  5. 优化分页查询
    第一种思路:根据索引分页,通过查询到的索引结果返回分页数据
    第二种思路:where + order by + limit (前提是需要一个自增的唯一标识符)
  6. 使用SQL提示
    use index //使用索引
    ignore index //忽略索引
    force index //强制使用索引

常用SQL技巧
1. 正则表达式
语法:
这里写图片描述
2. 用bit group function做统计

文章参考:

对于MySQL语句优化,以下是一些建议: 1. 确保正确的索引:创建适当的索引可以显著提高查询性能。根据查询的特点和表的结构,选择合适的索引列和索引类型。 2. 优化查询语句:使用正确的查询语句可以减少数据库的负担。避免使用SELECT *,只选择需要的列。合理使用JOIN,避免多次嵌套子查询。 3. 避免全表扫描:全表扫描会导致性能下降。通过合理使用索引、优化查询语句和分页等方式,尽量避免全表扫描。 4. 使用EXPLAIN分析查询计划:通过使用EXPLAIN命令分析查询计划,可以了解MySQL是如何执行查询的,从而找到潜在的性能问题。 5. 合理配置服务器参数:根据服务器的硬件资源和实际负载情况,合理配置MySQL的参数,如缓冲区大小、连接数等。 6. 避免过度使用触发器和存储过程:触发器和存储过程会增加数据库的负担,应谨慎使用,并定期检查其性能影响。 7. 定期优化表结构:根据实际需求和数据变化情况,定期检查和优化表结构,包括字段类型、表关系等。 8. 合理使用缓存:使用缓存可以减少数据库访问次数,提高性能。根据业务需求,合理选择缓存策略和工具。 9. 定期维护和优化数据库:定期进行数据库维护工作,如备份、索引重建、碎片整理等,保持数据库的健康状态。 请注意,以上建议仅供参考,具体优化策略需要根据实际情况进行分析和调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值