我已经阅读了有关FORCE索引的文章,但是如何强制 MySQL 进行IGNORE ALL索引?
我试过了SELECT * FROM tbl IGNORE INDEX(*),但我没有成功。
至于为什么我(和其他人)需要这样做:例如,我需要像这样按 tld 汇总引用者统计信息:
SELECT
count(*) as c,
SUBSTRING
(
domain_name,
LENGTH(domain_name) - LOCATE('.', REVERSE(domain_name)) + 2
) as tld
FROM `domains_import`
IGNORE INDEX(domain_name)
GROUP BY tld
ORDER BY c desc
LIMIT 100
Run Code Online (Sandbox Code Playgroud)
...但我总是必须查看定义了哪些索引或通过 Explain 确定将使用哪些索引。简单地写IGNORE INDEX ALL而根本不在乎会非常方便。
有谁知道语法或黑客?(通过 MySQL 定义表的几十行确实不是捷径)。
基准:
无索引 = 148.5 秒
使用 index = 180 secs 并且仍在运行 Sending data SSD 阵列是如此强大,以至于您几乎不关心数据缓存...
基准的定义:
CREATE TABLE IF …Run Code Online (Sandbox Code Playgroud) utf8mb4_0900_bin二进制排序规则与二进制排序规则有什么区别utf8mb4_bin?
是否可以写成 (A OR B) IN(X, Y, ..., W) ?
我需要填写两个IN()expr。手动具有相同的值。喜欢:
A IN(X, Y, ..., W) OR B IN(X, Y, ..., W)
Run Code Online (Sandbox Code Playgroud)
IN()只填写一项的最佳选择是什么?