gpt4 book ai didi

mysql - 优化查询以返回行数

转载 作者:行者123 更新时间:2023-11-29 01:40:00 24 4
gpt4 key购买 nike

我正在尝试获取每个项目的最新日期。

例如

假设我有一个包含供应商、项目、装运日期的表格。我正在检索所有供应商发货的每件商品的最新日期。

数据:

|Vendor|item   |shipmentDate|
|HP |laptop | 2014/07/29 |
|HP |laptop | 2014/06/28 |
|Apple |tablet | 2014/05/05 |
|Apple |tablet | 2014/06/28 |

获取最新日期查询:

SELECT Vendor, item, MAX(shipmentDate) 
FROM table
GROUP BY Vendor, item;

结果:

|Vendor|item   |shipmentDate|
|HP |laptop | 2014/07/29 |
|Apple |tablet | 2014/06/28 |

一切都很好。但是,对于上述查询,我​​的实际表会产生超过 50,000 条记录。所以我试图从我的 JAVA 应用程序中批量执行查询。因此,我正在尝试检索数据的行数:

SELECT COUNT(*)
FROM (SELECT Vendor, item, MAX(shipmentDate)
FROM table
GROUP BY Vendor, item) T;

行计数查询耗时:00:04:47 与另一个查询耗时相同:00:04:43。希望找到一种优化行计数查询的方法。任何帮助将不胜感激。

最佳答案

尝试这样做:

select count(distinct vendor, item)
from table;

使用 table(vendor, item) 上的索引,这可能会更快。我不是 100% 确定 MySQL 是否会利用该查询的索引。

关于mysql - 优化查询以返回行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27192566/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com