igortik
Новичок
У меня остался лишь один вопрос к знающим, как работает MySQL в конкретном случае:
1. Есть запрос, например:
В вышеупомянутом случае мы образуем из него вот такой запрос:
Я, конечно, и сам вижу, но лучше переспрошу ... не пинайте ...
В данном случае mysql получит все данные указанных полей а уже потом посчитает кол-во? Т.е. ресурсов будет потрачено ровно столько, сколько надо нам на выборку всех данных во вложенном запросе?
Или оператор будет просто считать сколько полей без получения
-~{}~ 24.07.10 14:21:
Mols
Спасибо за мысли... не странное, на мой взгляд =)
Я минималист.. все минимализирую в коде, даже в данном случае нет желания отдельно описывать второй запрос для просчетов, т.к. бывают случаи, например, при поиске где куча параметров - запрос склеивается из частей и проще его скормить классу, нежели делать возможность сборки его непосредственно под 'count'.
p.s. Я могу быть не совсем правым, но с точки зрения правильности - надо разделять однозначно, с точки зрения минимализма - лишние запросы в скрипте, отличающиеся лишь count(*) - тоже не очень-то (имхо)...
но решать буду все равно верным способом.. пока на стадии принятия решения ..
1. Есть запрос, например:
PHP:
$query = "SELECT news.id,news.date,news.top,news_content.name,news_content.hidden FROM `news`
INNER JOIN `news_content` ON news.id = news_content.id
WHERE news_content.lang = '"._LANG."' ORDER by news.date DESC";
PHP:
SELECT count(*) FROM (SELECT news.id,news.date,news.top,news_content.name,news_content.hidden FROM `news`
INNER JOIN `news_content` ON news.id = news_content.id
WHERE news_content.lang = '"._LANG."' ORDER by news.date DESC) AS count;
В данном случае mysql получит все данные указанных полей а уже потом посчитает кол-во? Т.е. ресурсов будет потрачено ровно столько, сколько надо нам на выборку всех данных во вложенном запросе?
Или оператор будет просто считать сколько полей без получения
PHP:
news.id,news.date,news.top,news_content.name,news_content.hidden
Mols
Спасибо за мысли... не странное, на мой взгляд =)
Я минималист.. все минимализирую в коде, даже в данном случае нет желания отдельно описывать второй запрос для просчетов, т.к. бывают случаи, например, при поиске где куча параметров - запрос склеивается из частей и проще его скормить классу, нежели делать возможность сборки его непосредственно под 'count'.
p.s. Я могу быть не совсем правым, но с точки зрения правильности - надо разделять однозначно, с точки зрения минимализма - лишние запросы в скрипте, отличающиеся лишь count(*) - тоже не очень-то (имхо)...
но решать буду все равно верным способом.. пока на стадии принятия решения ..