为何在性能至关重要的复杂表中,我推荐对所有查询强制使用索引?

2026-05-27 17:400阅读0评论SEO基础
  • 内容介绍
  • 相关推荐

本文共计3215个文字,预计阅读时间需要13分钟。

为何在性能至关重要的复杂表中,我推荐对所有查询强制使用索引?

最近又遇到了慢SQL问题,简单看了下,发现是因为MySQL本身的优化器还有查询计划估算不准确的问题。SQL示例如下:

sqlselect * from t_pay_record WHERE ((user_id='user_id1' AND is_del=0)) ORDER BY id DESC LIMIT 20

最近,又遇到了慢 SQL,简单的看了下,又是因为 MySQL 本身优化器还有查询计划估计不准的问题。SQL 如下:

select * from t_pay_record WHERE (( user_id = 'user_id1' AND is_del = 0 )) ORDER BY id DESC LIMIT 20

这个 SQL 执行了 20 分钟才有结果。但是我们换一个 user_id,执行就很快从线上业务表现来看,大部分用户的表现都正常我们又用一个数据分布与这个用户相似的用户去查,还是比较快

阅读全文

本文共计3215个文字,预计阅读时间需要13分钟。

为何在性能至关重要的复杂表中,我推荐对所有查询强制使用索引?

最近又遇到了慢SQL问题,简单看了下,发现是因为MySQL本身的优化器还有查询计划估算不准确的问题。SQL示例如下:

sqlselect * from t_pay_record WHERE ((user_id='user_id1' AND is_del=0)) ORDER BY id DESC LIMIT 20

最近,又遇到了慢 SQL,简单的看了下,又是因为 MySQL 本身优化器还有查询计划估计不准的问题。SQL 如下:

select * from t_pay_record WHERE (( user_id = 'user_id1' AND is_del = 0 )) ORDER BY id DESC LIMIT 20

这个 SQL 执行了 20 分钟才有结果。但是我们换一个 user_id,执行就很快从线上业务表现来看,大部分用户的表现都正常我们又用一个数据分布与这个用户相似的用户去查,还是比较快

阅读全文