sql - LIKE 可以使用尾随 % 使用索引吗?
问题描述
DROP TABLE IF EXISTS t;
CREATE TABLE t(
mypath varchar(100)
);
INSERT INTO t VALUES ('a'),('a/b'),('a/b/c');
-- 使用 LIKE 列出所有父路径:
SELECT a.mypath, b.mypath aS parent_path
FROM t a
JOIN t b ON a.mypath LIKE b.mypath + '%' AND a.mypath != b.mypath
解决方案
是的,如果它有一个尾随通配符,它可以使用索引。
推荐阅读
- regex - Google Sheets Query > Filter rows based on text in a string
- javascript - 我如何使用多个关键字和/或部分匹配过滤角度垫表
- encryption - Mirror Maker:提供带有 SSL 密码加密的代理属性
- mysql - 如何通过在MySQL中对具有特定条件的列中的多行数据进行计数来进行排名
- javascript - Using javascript variable in different parts of liquid code
- c++ - 两个线程之间(共享)变量的 C++ 使用
- azure-devops - AutoParameterizationWebConfigConnectionStrings not working in azure devops release pipelines
- sharepoint - 与组共享 PowerApps 应用程序和连接
- ios - swift中的异步和同步有什么区别
- file - 如何在移动设备上打开下载并存储在下载文件夹中的 PDF 文件?