我们有一个网络应用程序,用户根据已经输入的参数进行临时查询。 我还要指出,答复时间对用户非常重要。
该网页根据所输入的参数,动态地构造一个执行结构。 例如,如果用户进入“企业单位”的“1”,我们就建造了这样的结构:
SELECT * FROM FACT WHERE
BUSINESS_UNIT = 1
--AND other criteria based on the input params
我发现,如果用户没有具体说明BUSINESS_ UNIT 建造了以下电梯:
SELECT * FROM FACT WHERE
BUSINESS_UNIT LIKE %
--AND other criteria based on the input params
IMHO, 这不一定(如果不是严重的话)效率不高,因此,要求发送错误修改的代码,但因为我寄回重新工作的代码比其他人要高很多,我认为,我可能获得“选择”的声誉。
如果这是一个不适当的问题,因为它不是一个直接的编码问题,那么,让我知道,我将立即删除。 我感到非常困惑的是,是否允许或不允许这样的主观问题! 我感谢你们的答复。
ty
最新情况:
我正在使用一个Oracle数据库。
我的印象是,Oracle没有通过消除这一条件优化“LIKE %”,而使之效率较低。 可否确认?