gpt4 book ai didi

mysql - 使用常量列表值加快查询速度

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

有没有办法加快速度?

SELECT LOWER(nameid), COUNT(nameid) AS cant
FROM infos AS i
WHERE i.value > 0
AND i.oid IN ($1)
AND i.nameid IN ($2)
GROUP BY nameid

$1是一长串逗号分隔的 ID,例如 1,2,3,4,5,6,7 等。

$2是逗号分隔字符串的列表,例如“ABC”、“DEF”、“GHI”等。

CREATE TABLE `infos` (
`id` int(11) NOT NULL,
`oid ` int(11) NOT NULL DEFAULT '0',
`nameid` varchar(10) NOT NULL DEFAULT '',
`value ` mediumint(9) UNSIGNED NOT NULL DEFAULT '1'
) ENGINE=MyISAM DEFAULT CHARSET=utf8 CHECKSUM=1;

我尝试了类似的方法,但结果不一样:

SELECT merkmalid, i.wert FROM infos AS i
WHERE i.oid IN
(
SELECT * FROM
(
SELECT ($1)
) AS sub
WHERE i.nameid IN ($2)
)

最佳答案

IN ( 1,2,3 )IN ( "1,2,3") 之间是有区别的。你可能想要前者。我不知道第一个 SELECT 给了你什么。请提供SELECT插值后

子查询只能提供后者。

我推荐 INDEX(nameid, oid, value) 作为最有可能提供帮助的方法。一旦有了该索引,您可能需要 InnoDB 来充分利用它。

关于mysql - 使用常量列表值加快查询速度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43394947/

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