尾随 % 的 LIKE 可以使用索引吗?
can LIKE with trailing % make use of an index?
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
是的,如果它有尾随通配符,它可以使用索引。
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
是的,如果它有尾随通配符,它可以使用索引。