gpt4 book ai didi

mysql - mysql 查询的一个有趣案例 "like ' xx' "

转载 作者:可可西里 更新时间:2023-11-01 06:38:11 24 4
gpt4 key购买 nike

我在 MySQL 查询 SQL 中发现了一个有趣的案例,前缀字符串匹配;

我创建了这样的表;

CREATE TABLE `EpgInfo` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`title` varchar(100) NULL NOT NULL DEFAUL '',
PRIMARY KEY (`id`),
KEY `title` (`title`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8

然后,我为长度小于20的随机列标题插入了1,000,000行数据。

我使用 3 个这样的 SQL:

  • SQL #1: select * from EpgInfo2 where title like "快"limit 1;
  • SQL #2: select * from EpgInfo2 where title = "中"limit 1;
  • SQL #3: select * from EpgInfo2 where title like "中"limit 1;

我发现:

  • SQL #1 耗时 0.2 秒。
  • SQL #2 和 SQL #3 花费 0.0 秒。我使用像 %handl% 这样的显示状态来找到查询计划,我发现 SQL #1 扫描所有索引数据,SQL #2 和 SQL #3 没有。

为什么?

最佳答案

使用 EXPLAIN 查看 MySQL 如何处理查询,它可能会给您一些线索。

此外,尝试一些其他字符。也许 MySQL 将其中一个错误解释为其中有百分号。

关于mysql - mysql 查询的一个有趣案例 "like ' xx' ",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11384286/

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