社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  DATABASE

从匹配行中选择最高ID的高性能MySQL查询

CXJ • 3 年前 • 1304 次点击  

我需要一个比我现在使用的更高的性能查询。我需要得到最高的分数 id 从一组与其他条件匹配的行中。现在我有这样的想法:

SELECT * FROM mytable 
WHERE (thing = 'foo' OR thing = 'bar')
  AND used IS NULL
  AND stime = 0
  AND ~flags & 1
ORDER BY id DESC
LIMIT 1;
  • 身份证件 是唯一的顺序主键。

但是,此查询需要很多秒才能运行。我需要接近亚秒级的性能,即使是0.99也很好。

WHERE 关于 身份证件 列,例如 max(id) max(id) - 10000 .用于替代 10000 它运行得非常快,这就足够了。问题是这些值在世界其他地方的分布 哪里 这个从句非常不规则。最后 10000 行可以包含也可以不包含任何与其他条件匹配的行。如果可能的话,我需要找到至少一行。

是否有一些小的SQL语句集(换句话说,多个快速查询就可以了)可以让我得到最后(最高)的结果 身份证件 )以高性能的方式匹配行?

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/127960
 
1304 次点击  
文章 [ 3 ]  |  最新文章 3 年前