gpt4 book ai didi

mysql - 在具有 4.000.000 行的表中使用 < 进行慢速查询

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

我的 purchasedItems 表大约有。 400 万行:

itemId | orderQuantity | inStockQuantity | backorderQuantity | backorderOrderedQuantity

我的查询:

SELECT * FROM purchasedItems 
WHERE backorderOrderedQuantity < backorderQuantity

我有 backorderQuantity 和 backorderOrderedQuantity 的索引——并且它们都合并了。但我的查询仍然需要大约。 2-3 秒。

我可以做些什么来提高速度?

评论更新

我的数量列是 smallint(3)。

结果是很少的行。最多 20 个

解释:

Select type: SIMPLE
type: ALL
possible_keys: NULL
key: NULL
key_len: NULL
ref: NULL
rows: all of them
extra: Using where

最佳答案

MySQL 不支持为 t1.col1 < t1.col2 使用索引比较。关于 stackexchange 已经有一些问题了这回答了你的问题。

我要添加索引列 backorder_diff计算为 backorderOrderedQuantity - backorderQuantity (创建插入和更新触发器,使列保持最新,而无需您进行任何更多的内务处理),只需使用:

WHERE backorder_diff > 0

关于mysql - 在具有 4.000.000 行的表中使用 < 进行慢速查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24656965/

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