Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.04.30;
Скачать: CL | DM;

Вниз

Выборка N+K записей на FB   Найти похожие ветки 

 
BanderLog   (2006-03-10 13:23) [0]

Здравствуйте! Подскжите каком образом можно организовать постепенную выборку записей из таблице.
Допустим по 100 штук. Выбрал 100 записей, обработал, закрыл запрос, выбрал другие 100 записей и т.д.
использую FB 1.5


 
Sergey13 ©   (2006-03-10 13:29) [1]

2BanderLog   (10.03.06 13:23)
Это тупиковое направление действий.


 
BanderLog   (2006-03-10 13:32) [2]

Мне необходимо перекинуть данные из одной таблицы в другую, размер таблицы в районе 3 гигов (блобы), каким образом это можно организовать наиболее эффективно?


 
Mikhail V ©   (2006-03-10 13:40) [3]


> Выбрал 100 записей, обработал, закрыл запрос

Выбрал 100 записей, обработал, Commit


 
BanderLog   (2006-03-10 13:42) [4]

Как выбрать сначала с 1 по 100, потом со 101 по 200 и т.д.?


 
Sergey13 ©   (2006-03-10 13:43) [5]

2[2] BanderLog   (10.03.06 13:32)
>Мне необходимо перекинуть данные из одной таблицы в другую, размер таблицы в районе 3 гигов (блобы),

В этом случае беру свои слова назад. 8-)

>каким образом это можно организовать наиболее эффективно?
По диапазону ИД-шников например.


 
BanderLog   (2006-03-10 13:47) [6]

Как вариант конечно....  :)


 
Sergey13 ©   (2006-03-10 13:57) [7]

2[6] BanderLog   (10.03.06 13:47)
А почему не сразу все? Из-за файловых ограничений?


 
Johnmen ©   (2006-03-10 13:59) [8]

Не надо никаких диапазонов, никаких "по 100" и т.п.
Просто выполняется запрос на все интересующие записи. Получаем набор данных, при этом делаем его однонаправленным. Взяли из НД запись, обработали, пихнули, куда надо. Взяли следующую...


 
Sergey13 ©   (2006-03-10 14:03) [9]

2[8] Johnmen ©   (10.03.06 13:59)
Так тут НД вообще не нужен вроде. Просто insert into... select вроде достаточно.


 
BanderLog   (2006-03-10 14:03) [10]

А как же выборка 3 гигов на клиента, запрос то открыт, и дойдя до последней я выберу все 3 гига, которые будут где то на винте храниться... Или не так?


 
Sergey13 ©   (2006-03-10 14:08) [11]

2[10] BanderLog   (10.03.06 14:03)
Зачем на клиента то тащить если просто "перекинуть данные из одной таблицы в другую"?


 
Petr V. Abramov ©   (2006-03-10 14:09) [12]

Тогда уж лучше на API Firebirda утилитку написать. Записи все равно по одной fetch`атся, а что с выбранными делать, Вам уже рашать будет


 
BanderLog   (2006-03-10 14:09) [13]

Выбрал 100 записей, обработал, закрыл запрос


 
BanderLog   (2006-03-10 14:12) [14]

В общем пока наиболее простой и быстрый способ получается с ID. В виду того что удалений не так уж много, должно получитсья.

Предыдущий мой ответ был для [11] Sergey13 ©   (10.03.06 14:08) Обрабатывать надо данные.


 
Johnmen ©   (2006-03-10 14:14) [15]


> А как же выборка 3 гигов на клиента, запрос то открыт, и
> дойдя до последней я выберу все 3 гига, которые будут где
> то на винте храниться... Или не так?


Не так. На клиенте в каждый момент времени будет не более 1 считанной записи.


 
Sergey13 ©   (2006-03-10 14:14) [16]

2[14] BanderLog   (10.03.06 14:12)
>Обрабатывать надо данные.
В ХП не получится?


 
PEAKTOP ©   (2006-03-10 14:15) [17]

Создай ХП, которая будет выбирать данные из таблицы упорядоченно (например, по ID), и генерить на каждом SUSPEND поле ID_SUSPEND, увеличивая его на единицу.
А потом на клиенте
1) SELECT * FROM MY_PROC WHERE (ID_SUSPEND >0) AND(ID_SUSPEND<=100)
2) SELECT * FROM MY_PROC WHERE (ID_SUSPEND >100) AND(ID_SUSPEND<=200)
3) SELECT * FROM MY_PROC WHERE (ID_SUSPEND >200) AND(ID_SUSPEND<=300)
И т.д.


 
BanderLog   (2006-03-10 14:35) [18]

2 [8] Johnmen ©   (10.03.06 13:59)
Объясни плиз, однонаправленный это какой?
И если в определённый момент времени на клиенте будет храниться только одна надпись, то вопрос отпадает.

2 [16]Sergey13 ©   (10.03.06 14:14)
Только если писать свою UDF по обработке Blob"a (документы ACad, Excel и т.д.)


 
Johnmen ©   (2006-03-10 14:38) [19]


> BanderLog   (10.03.06 14:35) [18]
> Объясни плиз, однонаправленный это какой?


Это unidirectional.
Если пользовать TIBSQL, то он такой по определению.
Если другой, то см. соотв. свойство.


 
BanderLog   (2006-03-10 14:40) [20]

Большое спасибо, ушёл разбираться. :)



Страницы: 1 вся ветка

Текущий архив: 2006.04.30;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.037 c
15-1144295698
Карелин Артем
2006-04-06 07:54
2006.04.30
Выбор MP3-плеера. На какие параметры смотреть?


6-1137220195
dreamse
2006-01-14 09:29
2006.04.30
2 сетевые карточки , UDP запрос 255,255,255,255 уходит не туда


2-1144648843
vvrz
2006-04-10 10:00
2006.04.30
Мемо в MS SQL Server


15-1144695890
Yozh_Programmer
2006-04-10 23:04
2006.04.30
Вход в сервис меню телевизора Toshiba 29JZ7TM (КАК?)


3-1141489847
Александр К...
2006-03-04 19:30
2006.04.30
Распространение приложений, использующих BDE