gpt4 book ai didi

mysql - Mysql大表优化

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

我有一个表,用于缓存谷歌翻译 API 答案。表结构是 db structure

现在它有超过 100 万行,group 字段中有 35000 个不同的值。我使用的唯一查询类型是:

SELECT `orig_string`, `group`, `translated` FROM `Google_translate_cache` WHERE 
(`group` = "?" AND
((`orig_string` = "?")
OR (`orig_string` = "?")
OR (`orig_string` = "?") ....

现在每个查询都需要超过 2 秒。

我尝试将查询更改为UNION 1,但结果是相同的。

此外,我尝试像这样对表进行分区 -

ALTER TABLE `Google_translate_cache`
PARTITION BY KEY(`orig_string`)
PARTITIONS 26;

但这也没有成功。

有什么加快速度的建议吗?

最佳答案

我可能是错的,但我不认为“orig_string”上的表分区确实是您想要的。相反,(group, orig_string) 上的复合索引有助于优化 where WHERE 子句限定符。现在,组列——真的有255个容量吗?当测试的原始字符串最大为 100 时,真的需要那么大吗?索引太多可能会导致一点滞后,但由于缺乏对实际内容的了解,无法明确地说。

我将从复合索引开始,而不是按照指示的方式进行分区。

关于mysql - Mysql大表优化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22880664/

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