![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
ADODataset [D6, MSSQL]
Gin2 © (2007-01-11 14:13:00)Как ограничить фитч записей?
В таблице 11000 записей, при открытии датасета фитчатся все записи. Гридов нет.
Gin2 (2007-01-15 15:29:00) [1]я к тому, что выгружаются все(!) данные.
О том что bcp мы не используем, я обьяснил ниже.
Ega23 (2007-01-15 14:15:00) [2]Она при инициализации делает снапшот данных - все(хоть гигабайт, хоть 3 байта) данные выгружаются через bcp
Вам не кажется, что в Microsoft не дураки, и что они не просто так пошли данным способом?
Gin2 (2007-01-15 14:12:00) [3]
> Но окрывать один НД на гигабайт, сохранять его на диск,
> потом открывать заново.... Это как-то через задницу...
Интересно, Вы юзали штатную репликацию в MS SQL? Она при инициализации делает снапшот данных - все(хоть гигабайт, хоть 3 байта) данные выгружаются через bcp и хранятся для инициализации точек.
Ega23 (2007-01-15 12:54:00) [4]ADO удобнее оказалось.
Я это к тому, что то, что ты писал свою репликацию ещё не значит, что ты её писал правильно или оптимально.
Репликацию, мне кажется, все писали. Я, во всяком случае, писал (и сейчас этим занимаюсь, вот прямо в данный момент). Но окрывать один НД на гигабайт, сохранять его на диск, потом открывать заново.... Это как-то через задницу...
Gin2 (2007-01-15 12:49:00) [5]
> Ega23 © (15.01.07 10:25) [37]
и?
Ega23 (2007-01-15 10:25:00) [6]
> В принципе да, если не считать 3-х опыта написания собственной
> репликации под MS SQL и пол-года под FireBird. Ну и штатная
> репликация в 2000 и 2005 где-то тоже пол-года.
>
Я тоже 4 года BDE использовал в качестве механизьма доступа к MSSQL, пока не узнал про ADO...
Gin2 (2007-01-15 10:20:00) [7]
> Есть мнение, что с репликацией не работали именно Вы.
В принципе да, если не считать 3-х опыта написания собственной репликации под MS SQL и пол-года под FireBird. Ну и штатная репликация в 2000 и 2005 где-то тоже пол-года.
Ega23 (2007-01-15 09:19:00) [8]
> ничего мутного, просто Вы никогда не работали с репликацией.
>
>
Есть мнение, что с репликацией не работали именно Вы.
Gin2 (2007-01-15 09:01:00) [9]
> Просто "шоб було" ?
нет. но иногда(репликация, отчеты, олап и еще что-то можно придумать) нужны все записи.
Gin2 (2007-01-15 09:00:00) [10]
> Потому что минимальный сетевой трафик и "клиент" не кэширует
> ВСЕ записи, а лишь то, что в гриде плюс еще несколько раз
> по столько. Зато скроллинг по такому датасету тормозит по
> взрослому, а сканирование (например, для подсчета сумм,
> кол-в или поиска чего-то) просто вешает прогу.
> Ну главное, если такой курсор организуется с десяти-двадцати
> компов, то сервер будет работать заметно медленнее.
грид мне ненужен, скроллинг тем более, ну а подсчет суммы и кол-ва я предпочитаю делать с помощью SQL на сервере, а не на клиенте.
Gin2 (2007-01-15 08:58:00) [11]
> Мутно.. Если репликация, то зачем вообще что-то тащить клиенту
> ?
> Неясно, что такое "Первичная инициализация", а "точка для
> обмена" вообще черная дыра
ничего мутного, просто Вы никогда не работали с репликацией.
MsGuns (2007-01-14 00:02:00) [12]>Gin2 (13.01.07 22:25) [30]
>Если БЛОБы то нет.
Зачаем тягаются ВСЕ, если за раз показывается одно, от силы (если в гриде рисуется ручками) - несколько десятков ?
>Почему-то помогло.
Потому что минимальный сетевой трафик и "клиент" не кэширует ВСЕ записи, а лишь то, что в гриде плюс еще несколько раз по столько. Зато скроллинг по такому датасету тормозит по взрослому, а сканирование (например, для подсчета сумм, кол-в или поиска чего-то) просто вешает прогу.
Ну главное, если такой курсор организуется с десяти-двадцати компов, то сервер будет работать заметно медленнее.
>Да, можно, но нужно все(!) записи.
Зачем Вам одномоментно ВСЕ (!) записи ?
Просто "шоб було" ?
>Согласен.
>Но когда идет речь о репликации и о первичной инициализации точки для обмена это еще цветочки.
Мутно.. Если репликация, то зачем вообще что-то тащить клиенту ?
Неясно, что такое "Первичная инициализация", а "точка для обмена" вообще черная дыра
Gin2 (2007-01-13 22:25:00) [13]
> 1. 11000 это мелочь
Если БЛОБы то нет.
> 2. useServer нагружает сервер и тормозит клиента.
Почему-то помогло.
> 3. Если кол-во записей все же критично, то можно предварительно
> давать запрос на вычисление кол-ва записей (Select Count(*)
> from (<основной запрос>) ) и затем при необходимости использовать
> TOP
Да, можно, но нужно все(!)записи.
> 4. Откуда гигабайты ? Похоже, что возвращается несколько
> сотен стринговых и мемо полей. Тогда вопрос зачем такой
> датасет клиенту, если никакой чел не в состоянии его просто
> просмотреть ?
Согласен.
Гб от БЛОБов - много файлов.
Но когда идет речь о репликации и о первичной инициализации точки для обмена это еще цветочки.
MsGuns (2007-01-13 01:54:00) [14]1. 11000 это мелочь
2. useServer нагружает сервер и тормозит клиента.
3. Если кол-во записей все же критично, то можно предварительно давать запрос на вычисление кол-ва записей (Select Count(*) from (<основной запрос>) ) и затем при необходимости использовать TOP
4. Откуда гигабайты ? Похоже, что возвращается несколько сотен стринговых и мемо полей. Тогда вопрос зачем такой датасет клиенту, если никакой чел не в состоянии его просто просмотреть ?
Anatoly Podgoretsky (2007-01-12 19:23:00) [15]> Gin2 (12.01.2007 18:26:27) [27]
Бекапы делаются средствами базы
Gin2 (2007-01-12 18:26:00) [16]
> А загрузить такого размера файл на Дельфи.32 нельзя
это плохо :(
Решил по другому. Обмен будет бекапом базы.
Anatoly Podgoretsky (2007-01-12 16:52:00) [17]
> Млин, а как файл 2,5 Гб теперь методом LoadFromFile открыть-
> то?
Это не открыть, а загрузить.
А загрузить такого размера файл на Дельфи.32 нельзя
А открыть можно, десятком способов, начиная с естественного FileOpen
Ega23 (2007-01-12 16:20:00) [18]XML.
И один фиг - по частям.
Gin2 (2007-01-12 15:34:00) [19]Млин, а как файл 2,5 Гб теперь методом LoadFromFile открыть-то?
Gin2 (2007-01-11 19:40:00) [20]
> Всё равно я не понимаю: нафига все записи через файл передавать?
>
> Неужели нельзя через 2 коннекта сделать? Там взял десяток,
> туда вставил...
нельзя. оффлайн обмен.