gpt4 book ai didi

php - 从 mysql 表获取记录总数 - 太慢

转载 作者:行者123 更新时间:2023-11-29 09:18:16 26 4
gpt4 key购买 nike

我有一个文件,它遍历一个大型数据集并以分页方式拆分行。该数据集包含大约 21 万行,这还不算多,几周后将增长到 300 万行以上,但速度已经很慢了。

我有第一个查询,用于获取数据库中特定 WHERE 子句组合的项目总数,最基本的查询如下所示:

SELECT count(v_id) as num_items FROM versions 
WHERE v_status = 1

运行需要 0.9 秒。

第二个查询是 LIMIT 查询,用于获取该页面的实际数据。这个查询真的很快。 (小于 0.001 秒)。

SELECT 
v_id,
v_title,
v_desc
FROM versions
WHERE v_status = 1
ORDER BY v_dateadded DESC
LIMIT 0, 25

在 v_status、v_dateadded 上有一个索引

我用的是php。我将结果缓存到 memcace 中,因此后续请求非常快,但第一个请求很滞后。特别是当我在那里进行全文搜索时,两个查询开始需要 2-3 秒。

最佳答案

我认为这是不对的,但尝试将其设置为 count(*),我认为 count(x) 必须遍历每一行并仅计算那些没有空值的行(所以它必须遍历所有行)

鉴于 v_id 是主键,它不应该有任何空值,因此请尝试使用 count(*)...

但我认为这不会有帮助,因为你有一个 where 子句。

关于php - 从 mysql 表获取记录总数 - 太慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3346018/

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