我希望在编译时生成MYSQL查询。有一些和子句我想让它们根据可选的输入参数动态地附加到查询中,这些参数在运行时是已知的。
因此,我计划使用LIKE搜索,而不是动态连接AND。
假设我有一个名为'Ramakrishna‘的值,查询如下
SELECT * from my_table WHERE col LIKE '%Ramakrishna%'当参数没有值时,我想使用like search
SELECT * from my_table WHERE col LIKE '%%'我想对我的查询中的15个参数执行此操作。除非我知道这个方法的性能趋势,否则我不想对一个巨大的查询这么做。费用会很高吗?
发布于 2020-03-11 11:59:20
动态构建查询。句号。
LIKE是不可优化的。考虑避免这种情况的方法。发布于 2020-03-10 13:39:27
如果您可以创建具有15个参数字典,那么
with par as (
select name_par
from params
)
select *
from my_table, par
where col LIKE par.name_par https://stackoverflow.com/questions/60611755
复制相似问题