我正在努力改进我的网站(PHP)中的sql查询(它返回与“like”值相关联的所有varchar的值),然而,由于使用“like%%”执行需要计算的超过1000个变量的任务确实很慢,因为我使用的是历史数据,而“like”取的是包含例如“06/2020”,“07/2020”等的所有结果。 我不介意把输出减少到只有3个月的信息,有人能给我提供一个建议,让我只得到3个月的结果吗?
query("SELECT XXX_date, global_target FROM YYY WHERE XXX_date LIKE '%" . $monthvalue . "%';");
其中例如$MonthValue=06/2020。 有可能提高性能吗?例如,从id 800到1000提取数据,而不是查看整个值?
如果希望数据介于“开始日期”到“结束日期”之间
query("SELECT XXX_date, global_target FROM YYY WHERE WHERE OrderDate BETWEEN $from_date AND $to_date;");
硬编码查询
query("SELECT XXX_date, global_target FROM YYY WHERE WHERE OrderDate BETWEEN #01/07/1996# AND #31/07/1996#;");