Гловоломающая Регулярка

igortik

Новичок
У меня остался лишь один вопрос к знающим, как работает MySQL в конкретном случае:

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
-~{}~ 24.07.10 14:21:

Mols
Спасибо за мысли... не странное, на мой взгляд =)

Я минималист.. все минимализирую в коде, даже в данном случае нет желания отдельно описывать второй запрос для просчетов, т.к. бывают случаи, например, при поиске где куча параметров - запрос склеивается из частей и проще его скормить классу, нежели делать возможность сборки его непосредственно под 'count'.

p.s. Я могу быть не совсем правым, но с точки зрения правильности - надо разделять однозначно, с точки зрения минимализма - лишние запросы в скрипте, отличающиеся лишь count(*) - тоже не очень-то (имхо)...

но решать буду все равно верным способом.. пока на стадии принятия решения ..
 
Сверху