![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
вопрос по БД [D7]
aKor © (2008-10-31 01:22:00)Подскажите как не выбирать все записи из таблицы, а выбирать, скажем только 15 а по AfterScroll Дата Сета выбирать уже следующий диапазон(limit)
БД InterBase
aKor (2008-11-02 18:45:00) [1]Ок, спасибо
Германн (2008-11-02 01:25:00) [2]3. Не делать
> select *
(с) (Перечислять всех кому принадлежит этот копирайт слишком долго :)
Johnmen (2008-11-02 01:10:00) [3]1. Не выбирать зараз много записей. Это стандартно.
2. Когда все записи получены на клиента, ни о какой нагрузке на сервер речь не идет, хоть облистайся... Вот только эта загрузка м.б. не быстрой.
Таблица в "7000-9000" записей - это просто смешное количество...
aKor (2008-11-02 00:51:00) [4]Весь вопрос в том как снять нагрузку с сервера.
Есть одна таблица клиентов с полем "status" , пользователь без конца кликает на кнопки условий выбора из этой таблицы по полю статус, так как другие пользователи в сетке часто меняют статусы у клиента, а таблица большая(относительно), примерно "7000-9000" записей.
Но все дело в том что пользователи хотят Перебирать все записи стрелочками, Поэтому нужно выбирать(select) только видимые записи в
DBGrid, что бы не было так "больно" при кликах на кнопках выбора, а потом делать выбор следующего дипазона записей, но если много людей будут активно Скролить DBGrid это тоже определенная нагрузка(при каждом нажатии стрелочки(верх, низ) нужно делать такой запрос: select * from clients where status = 'какой-то статус' limit n,m), вот я и хочу спросить совета, как лучше сделать, что бы не изобретать это трюк с limit -ом записей в таблицы
Johnmen (2008-10-31 16:24:00) [5]
> Труп Васи Доброго © (31.10.08 16:15) [4]
Не надо советовать, чего сам не знаешь.
Никогда предикатов FIRST и SKIP в InterBase не было.
Труп Васи Доброго (2008-10-31 16:15:00) [6]вот так надо делать
SELECT [FIRST <value>] [SKIP <value>] <select list>
FROM <table expression list>
Правильный$Вася (2008-10-31 12:18:00) [7]использовать ClientDataSet с включенной опцией PacketRecords
но сам подход чреват тормозами
MsGuns (2008-10-31 10:56:00) [8]А зачем нужно "перебирать" ВСЕ записи таблицы - неужели нельзя использовать запросы ?
Германн (2008-10-31 02:06:00) [9]
> aKor (31.10.08 01:22)
>
> Подскажите как не выбирать все записи из таблицы, а выбирать,
> скажем только 15 а по AfterScroll Дата Сета выбирать уже
> следующий диапазон(limit)
>
Ух как классно закручено! :)
И смешено!
P.S. "смешено" - это не очепятка! Это новояз! :)
> вопрос по БД [D7]
>
> aKor (31.10.08 01:22)
Объясни задачу простыми словами. Подчёркиваю - Задачу, а не вопрос.