nevím jestli to už zde padlo, snad jsem četl pozorně, ale mysql neumí používat indexy v tomto případě (klasicky nutné pro stránkování)
SELECT count(*) FROM … select …
SELECT * FROM t WHERE t.id IN (SELECT a mnoho idecek znamena – killni akci)
nevím jestli to už zde padlo, snad jsem četl pozorně, ale mysql neumí používat indexy v tomto případě (klasicky nutné pro stránkování)
SELECT count(*) FROM … select …
SELECT * FROM t WHERE t.id IN (SELECT a mnoho idecek znamena – killni akci)
Operátor IN nie je unlimited a to je problém – asi siahaš za jeho možnosti.
Manuál píše: „The number of values in the IN list is only limited by the max_allowed_packet value.“ Takže zmeň hodnotu max_allowed_packet_value alebo lepšie riešenie je prehnať výsledok cez svoju funkciu, ktorá mnoho idečiek rozdelí do viacero IN() skupín pomocou operátora OR ;-).