小编mvo*_*sek的帖子

如何强制 MySQL 忽略所有索引?

我已经阅读了有关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)

mysql index mysql-5.6

13
推荐指数
1
解决办法
2万
查看次数

不同的 utf8mb4 二进制排序规则之间有什么区别?

utf8mb4_0900_bin二进制排序规则与二进制排序规则有什么区别utf8mb4_bin

mysql collation utf-8

5
推荐指数
1
解决办法
2805
查看次数

是否可以写(A OR B) IN(X, Y, ..., W)?

是否可以写成 (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()只填写一项的最佳选择是什么?

mysql syntax

3
推荐指数
1
解决办法
1091
查看次数

标签 统计

mysql ×3

collation ×1

index ×1

mysql-5.6 ×1

syntax ×1

utf-8 ×1