当查询中的pID数量非常大时 - 我没有收到预期的结果。更确切地说 - 我什么都没得到。
请注意,同一查询在另一台服务器上运行正常。
我认为(但我不确定)问题可能出在MySQL配置中,但不知道如何解决。
有谁知道我该如何解决这个问题?
查询如下所示:
SELECT `filtID`,`pID` FROM (
(SELECT `filtID`,`pID` FROM `ftox_params_prod_links`
LEFT JOIN `ftox_params_values` USING(`fvID`)
WHERE (`filtID` IN (1,4,5,14,15,302,303,304,388,389,390)))
UNION (SELECT `filtID`,`pID` FROM `ftox_params_prod_values`
WHERE (`filtID` IN (1,4,5,14,15,302,303,304,388,389,390)))) AS `_T_`
WHERE (`pID` IN (173,174,175,176,177,178,179,180,181,182,183,
184,185,186,187,188,189,190,191,192,193,194,195,196,197,
198,199,200,201,202,203,204,205,206,207,208,209, ...
....................................................
...................Very much pIDs..................
....................................................
)) ORDER BY `filtID` ASC
答案 0 :(得分:1)
MySQL在max_allowed_packet
中对my.conf
配置值定义的查询大小有限制。
或者查询结果可能太大 - 尝试在memory_limit
中增加php.ini
个php变量。
示例:
memory_limit = 256M