SQL_CALC_FOUND_ROWS — а я то думал Life Hack
Иногда такое бывает. Вот узнаешь о каком-то лайф хаке, а оказывается что это нифига не лайф ках, а всем известная штука и ты один баран о нем не знал. Первый раз я попал в такую ситуацию когда залечивал очередную спортивную болячку. На физио нужно было открыть тюбик с мазью. Тюбик бы металлический, с железной мембранной под крышечкой. Всю жизнь я ее снимал всем что попадалось под руку. Тут мне под руку попались ключи…медсестра посмотрела на меня как на идиота, взяла тюбик, и специальным выступом на обратной стороне крышечки продырявила мембрану. Это было больше года назад.
И вот это чувство вернулось. Встретил в чужом примере нечто похожее вот на это:
SELECT SQL_CALC_FOUND_ROWS * FROM table LIMIT 10,20;
полез разбираться, что же за зверь «SQL_CALC_FOUND_ROWS» и выяснилось что это опция позволяющая получать реальное количество строк в FOUND_ROWS(), а не то что осталось от них после LIMIT. А я, как баран, использовал два запроса, вместо такой простой конструкции. Эххх, пора уже отвыкать от MySql 3.23 :)
Комментарии