Форум: "Базы";
Текущий архив: 2002.01.24;
Скачать: [xml.tar.bz2];
ВнизПочему не правильно работает RecordCount? Найти похожие ветки
← →
Alexandr (2001-12-18 09:01) [9]2Desdechado:Обоснуй
2Dim:Никто и не говорит, что тормозить не будет, особенно если выборка большая.А чтобы правильные значения были, FetchAll делал.
Count(*) быстрее будет чем Open+FetchAll+RecordCount
т.к. в первом случае подсчитывает сервер, пусть и не так оптимально как блокировочные сервера(Interbase версионник)
а во втором случае таблица загоняется целиком на клиента, и клиент подсчитывает количество записей.Достоиством здесь является то, что данные уже оказываются на клиенте.
Ведь попробуй после Open сделать Last - тоже тормозить будет если строк много в запросе-это данные с сервера на клиент передаются.А RecordCount после этого пройдет мгновенно...
Почему для Ttable это не так? при last Ttable не перечитывает весь запрос с сервера, а берет только конец таблицы и в случае Client-server Ttable ни в коем случае использовать не рекомендуется.
Вообщем выводы следующие.
при Clent-Server архитектуре не рекомендуется возвращать большие наборы данных- да и зачем- оператор их все равно все не прочитает. Нужно правильно формировать запрос к серверу, чтобы он возвращал только то, что нужно.
Тогда ни count(*) ни RecordCount на клиенте тормозить не будут
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.01.24;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.004 c