问题描述
我们在我们的计算机程序中有一个查询,它搜索超过 100,000 条数据(可能会增长几乎)。 我们无法完全更改此搜索查询,因为它会影响整个应用程序。我们正在尝试加速搜索超过 10 万个条目的情况;应用程序中的其他搜索只需要 2k 或 3k 条目,不包括在前面提到的 100k 数据中。 这个搜索是使用like子句进行的,效率很低。
这个想法是创建一个新列,我们将在其中存储整个字符串。在搜索查询中,我想添加和 OR 子句在此处添加带有新列的条件。对于这些情况(100k),这个新列不会为空。 有什么办法可以只获取这个新条件添加的结果,直接从SQL中删除like子句的所有结果。
select * from table tab
where ('SPLITTED_STRING' like tab.col1
or tab.newcond = 'RAWSTRING')
+ tab.CONDITION_DATE;
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)