好的,我需要基于一些用户输入构建查询以筛选结果。
查询基本上是这样的:
SELECT * FROM my_table ORDER BY ordering_fld;
有四个文本框,用户可以选择过滤数据,这意味着我必须动态构建一个"WHERE"子句来处理第一个使用的过滤器,然后对于每个后续输入的过滤器都要加上"AND"子句。
因为我太懒了,所以我将每个过滤器都变成了"AND"子句,并默认在查询中加入了一个"WHERE 1"子句。
现在我的查询语句看起来是这样的:
SELECT * FROM my_table WHERE 1 {AND filters} ORDER BY ordering_fld;
所以我的问题是,我是否做了什么会对我的查询性能产生不利影响或者破坏了其他方面让我应该担心的事情?