我想合并两个表,但想排除任何以“?”开头的名称。(实际上任何包含“?”,但所有违规者都以“?”开头。)
SELECT NAME, AGE, LOCATION
FROM TABLEONE
WHERE NAME NOT LIKE CONCAT('?%')
UNION ALL
SELECT NAME, AGE, LOCATION
FROM TABLETWO
WHERE NAME NOT LIKE CONCAT('?%')
LOCK IN SHARE MODE;
这真的很慢。我可以通过更好的查询或索引来加快速度吗?
它使用的是 concat,因为这是我继承的代码。我希望 concat 不是最佳选择,但我想我会在收到代码时显示代码。
我的理解是索引在通配符搜索中没有帮助。
谢谢!