|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
18.01.2011, 23:42 | #1 |
Пользователь
Регистрация: 25.03.2007
Сообщений: 67
|
Получить количество строк не делая лишний запрос
Суть вот в чем:
есть запрос Код:
как получить количество строк подходящих под этот запрос не делая лишнего запроса типа Код:
Последний раз редактировалось Stilet; 19.01.2011 в 17:53. |
19.01.2011, 00:04 | #2 |
Форумчанин
Регистрация: 08.09.2010
Сообщений: 880
|
Посчитать в цикле.
|
19.01.2011, 13:38 | #3 |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,526
|
Код:
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось Stilet; 19.01.2011 в 17:53. |
19.01.2011, 17:36 | #4 |
Пользователь
Регистрация: 25.03.2007
Сообщений: 67
|
Я неверно что то не понимаю, но какие циклы!? циклить запросы и закидывать ими сервер? Оо
Может я не правильно растолковал суть вопроса. Мне необходимо 1-м запросом получить 10 строк из тиблицы т.е. наложив на запрос (Limit 10 или Limit 20, 10 и т.д.) и тем же запросом получить сколько всего строк содержит таблица. Это бы здорово уменьшило нагрузку на сервер, можно ли это как то реализовать? или только посылать второй запрос? |
19.01.2011, 17:56 | #5 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Да в PL/SQL тоже аналогичная есть, и в остальных СУБД должна быть.
I'm learning to live...
|
|
19.01.2011, 18:34 | #6 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
присоединяюсь к уточняющим вопросам Stiletа...
В чём именно выполняется 1-й запрос (в клиенте? ) ? Количество записей нужно получить ДО самого запроса, или ПОСЛЕ него? Если ДО - то выполняйте запрос select count(*) ... where вашиусловия Если ПОСЛЕ - то обычно есть серверная переменная, где хранится количество выбранных записей, или, если запрос выполняется на клиенте, то в датасете можно получить количество записей... |
19.01.2011, 20:17 | #7 |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,526
|
Отвечаю за TC (так как понял вопрос я).
есть некий запрос с огрничением вывода (limit) Select * from table where filed=value limit 10 Как получить число записей с таким же условием НО без ограничения (limit 10) не используя дополнительного запроса. Select сщгте(*) from table where filed=value мой ответ был уже высказан. l imit 10 это дополнительное условие и все что отсюда следует.
программа — запись алгоритма на языке понятном транслятору
|
20.01.2011, 11:06 | #8 |
Пользователь
Регистрация: 25.03.2007
Сообщений: 67
|
Всё это необходимо для вывода кол-ва страниц.
Т.е. усть таблица отображающая листинг базы + навигация по страницам. Вот для навигации и нужно знать кол-во записей в таблице. Просто думал что есть способ не посылать доп зарос чтобы подсчитать кол-во страниц. Запросы выполняет сервер средствами php. Спасибо за ответы. P.S. Считать кол-во записей циклом - нафиг, нафиг, нафиг! Для примера оператор count(*) в таблице где есть 10 000 000 записей работал 3 сек, на обычной машине, не сервере. В пхп цикл из 16 000 итераций занимает порядка 8 минут всё на той же машине. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Подсчитать количество букв "А" в предложении и общее количество букв.В тексте из файла несколько строк. | kvas91 | Общие вопросы C/C++ | 3 | 14.11.2010 16:51 |
Получить количество записей с определенным значением | RamireZ | БД в Delphi | 7 | 04.06.2010 07:12 |
Как получить количество столбцов из выборки | ssdm | Java Базы данных (JDBC, JPA, Hibernate) | 1 | 25.01.2010 19:21 |
Как получить из TVirtualStringTree хоть какую-то информацию? Текст, количество строк? | TwiX | Общие вопросы Delphi | 4 | 05.12.2009 20:21 |
Количество строк | delphin100 | Общие вопросы Delphi | 2 | 26.03.2009 11:58 |