gpt4 book ai didi

mysql - 为什么此查询对一个表有效但对另一个表超时

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

好的,我有 3 个表有问题:

`eng` with column english
`jap` with column japanese
`eng-jap` with column eng and column jap

eng.english是一个独特的英文句子,jap.japanese 是一个独特的日语句子,eng-jap是一个翻译,一个是jap的日语,一个是eng的英语

我在这个问题的底部粘贴了表格的更多详细信息。

我的问题:为什么...

这个查询工作得很快:

SELECT * FROM eng WHERE english IN (SELECT eng FROM `eng-jap`);

虽然这个需要 100 秒或超时:

SELECT * FROM jap WHERE japanese IN (SELECT jap FROM `eng-jap`);

(关于这第二个查询的一个奇怪的注意事项是,如果我在 phpmyadmin 中执行它,它需要 100 秒才能完成“如果它完成”然后它会说它花了 0.024 秒。虽然它加载了 100 秒,也在我的网站上它需要 100 秒或超时)

所有这 3 个表的行数大致相同,您将从下面的数据中看到。 eng 和 jap 表特别相似。

我怀疑问题出在表格设置或索引或其他地方,所以我现在将粘贴所有相关详细信息:

JAP TABLE:

Keyname Type Unique Packed Column Cardinality Collation
PRIMARY BTREE Yes No ID 130296 A
full BTREE Yes No japanese 130296 A

Format dynamic
Collation utf8_general_ci
Rows 130,296
Row length ø 264
Row size ø 372 B
Next Autoindex 131,790

Type Usage
Data 33,718.6 KiB
Index 13,652.0 KiB
Total 47,370.6 KiB

ENG TABLE:

Keyname Type Unique Packed Column Cardinality Collation
PRIMARY BTREE Yes No ID 129637 A
full BTREE Yes No english 129637 A

Format dynamic
Collation utf8_general_ci
Rows 129,637
Row length ø 101
Row size ø 181 B
Next Autoindex 130,749

Data 12,899.3 KiB
Index 10,068.0 KiB
Total 22,967.3 KiB

ENG_JAP TABLE:
Keyname Type Unique Packed Column Cardinality Collation
PRIMARY BTREE Yes No ID 139442 A
eng BTREE Yes No eng (150) 0 A
jap (150) 139442 A

Format dynamic
Collation utf8_general_ci
Rows 139,442
Row length ø 315
Row size ø 468 B
Next Autoindex 140,951

Data 42,945.5 KiB
Index 20,816.0 KiB
Total 63,761.5 KiB

最佳答案

加入是否加快了您的查询速度?

SELECT * 
FROM jap a INNER JOIN `eng-jap` b ON
a.japanses = b.jap

关于mysql - 为什么此查询对一个表有效但对另一个表超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13355875/

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