Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Обновление recordset.  [new]
Kesha
Member

Откуда:
Сообщений: 399
Обновление recordset.
Как можно обновить recordset , чтобы добавлялись только новые записи в него . Когда я делаю Requery(в VB) и в таблице находится около 5000000 записей то компьютер тормозит сильно потому что выбираются все записи .Возможно ли такое дело ?
28 авг 03, 13:02    [318417]     Ответить | Цитировать Сообщить модератору
 Re: Обновление recordset.  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
Я, вот, просто интересуюсь. А зачем клиенту 5 млн. записей? Он что всё их глядеть будет?
28 авг 03, 13:15    [318448]     Ответить | Цитировать Сообщить модератору
 Re: Обновление recordset.  [new]
Alex Antonoff
Member

Откуда: Из лесу вестимо
Сообщений: 1251
Наверное в уме прикидывать ответ
28 авг 03, 13:16    [318451]     Ответить | Цитировать Сообщить модератору
 Re: Обновление recordset.  [new]
Glory
Member

Откуда:
Сообщений: 104760
А зачем клиенту в recordset-е 5000000 записей ??? Он что у вас информационый маньяк ??? Вроде Нео ???
28 авг 03, 13:16    [318452]     Ответить | Цитировать Сообщить модератору
 Re: Обновление recordset.  [new]
KOLCHOZ_POSTEVENT
Guest
Бывает надо что-то сложное обсчитать,график,там,построить,зря вы так.
Я в VB=0(ноль),в Powerbuilder,я бы сохранил в сторонке первый Recordset,а следующий запрос SQL поправил бы каким-то условием ,например not in на 5 страниц динамически сформированный,если б ничего другого в голову не пришло,типа максимальной даты из первого recordset.А потом бы их склеил,классная комманда есть RowsMove,её на собеседованиях спрашивают.
28 авг 03, 13:30    [318482]     Ответить | Цитировать Сообщить модератору
 Re: Обновление recordset.  [new]
bushmen
Member

Откуда: г. Москва
Сообщений: 828
неужели все записи одновременно видны пользователю?
28 авг 03, 13:34    [318490]     Ответить | Цитировать Сообщить модератору
 Re: Обновление recordset.  [new]
Alex Antonoff
Member

Откуда: Из лесу вестимо
Сообщений: 1251
А если поставить timestamp, то можно будет и отслеживать измененные...
28 авг 03, 13:36    [318494]     Ответить | Цитировать Сообщить модератору
 Re: Обновление recordset.  [new]
funikovyuri
Member

Откуда: Симферополь
Сообщений: 4045
чтобы вставить запись - не нужно получать рекордсет с сервера!
достаточно выполнить insert или нужную sp
28 авг 03, 13:40    [318501]     Ответить | Цитировать Сообщить модератору
 Re: Обновление recordset.  [new]
bushmen
Member

Откуда: г. Москва
Сообщений: 828
2 funikovyuri:
Не всегда удобно insert использовать. Но тогда нужна пустая выборка
28 авг 03, 13:44    [318506]     Ответить | Цитировать Сообщить модератору
 Re: Обновление recordset.  [new]
Alex Antonoff
Member

Откуда: Из лесу вестимо
Сообщений: 1251
funikovyuri:
Я так понимаю что требуется подкачка измененных данных от других пользователей ...
28 авг 03, 13:45    [318508]     Ответить | Цитировать Сообщить модератору
 Re: Обновление recordset.  [new]
funikovyuri
Member

Откуда: Симферополь
Сообщений: 4045
требуется подкачка измененных данных от других пользователей
5000000 - сколько же там пользователей?
28 авг 03, 14:03    [318542]     Ответить | Цитировать Сообщить модератору
 Re: Обновление recordset.  [new]
Alex Antonoff
Member

Откуда: Из лесу вестимо
Сообщений: 1251
Они просто продуктивно работают ))))
28 авг 03, 14:12    [318567]     Ответить | Цитировать Сообщить модератору
 Re: Обновление recordset.  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
Угу. По 10 лимонов записей в день добавляют...
28 авг 03, 14:13    [318572]     Ответить | Цитировать Сообщить модератору
 Re: Обновление recordset.  [new]
Kesha
Member

Откуда:
Сообщений: 399
Спасибо всем за ответы. У меня есть 2 программы client на VB, одна заполняет данные , а другая показывает . Во второй сидит timer который когда видит изменения делает requery(reconnect).
Первая программа добавляет данные примерно строка в минуту.
28 авг 03, 14:41    [318638]     Ответить | Цитировать Сообщить модератору
 Re: Обновление recordset.  [new]
Alex Antonoff
Member

Откуда: Из лесу вестимо
Сообщений: 1251
Что же будет через пару лет такой работы ...
28 авг 03, 14:46    [318651]     Ответить | Цитировать Сообщить модератору
 Re: Обновление recordset.  [new]
Kesha
Member

Откуда:
Сообщений: 399
У МЕНЯ НА КАЖДЫЙ МЕСЯЦ НОВАЯ ТАБЛИЦА.
И я не говору, что строка в минуту ето постоянный темр , иногда может быть и 1 в полчаса.
Я так понимаю , что отсюда выхода нет?
28 авг 03, 14:55    [318670]     Ответить | Цитировать Сообщить модератору
 Re: Обновление recordset.  [new]
Alex Antonoff
Member

Откуда: Из лесу вестимо
Сообщений: 1251
почему нет, если они только добавляются запоминай индекс последней записи, которая ушла на клиент, а потом "догружай записи с условием id>запомненного id ...
28 авг 03, 15:00    [318682]     Ответить | Цитировать Сообщить модератору
 Re: Обновление recordset.  [new]
Kesha
Member

Откуда:
Сообщений: 399
Ата гадоль
Спасибо , очень помогло
28 авг 03, 15:19    [318737]     Ответить | Цитировать Сообщить модератору
 Re: Обновление recordset.  [new]
Den_com
Member

Откуда: Москва
Сообщений: 47
можно брать только top 1000 например...
28 авг 03, 16:29    [318939]     Ответить | Цитировать Сообщить модератору
 Re: Обновление recordset.  [new]
BrokenPot
Member

Откуда: Киев
Сообщений: 1405
Похоже, это некая система автоматических измерений и записи результатов этих измерений в базу. Если это так, то дата-время измерения и записи результата в базу там наверняка фиксируется. По ней - и отбирать новые. А даже если и не автоматических, то ничто не мешает добавить в таблицу поле с умолчательным значением getdate(). Не забыть индекс на это поле.

Отдельный привет тем, у кого на каждый месяц - отдельная таблица. Как говорится, Бог им судья (или "Так им и надо").
29 авг 03, 03:05    [319597]     Ответить | Цитировать Сообщить модератору
 Re: Обновление recordset.  [new]
BrokenPot
Member

Откуда: Киев
Сообщений: 1405
Похоже, это некая система автоматических измерений и записи результатов этих измерений в базу. Если это так, то дата-время измерения и записи результата в базу там наверняка фиксируется. По ней - и отбирать новые. А даже если и не автоматических, то ничто не мешает добавить в таблицу поле с умолчательным значением getdate(). Не забыть индекс на это поле.

Отдельный привет тем, у кого на каждый месяц - отдельная таблица. Как говорится, Бог им судья (или "Так им и надо").
29 авг 03, 03:06    [319598]     Ответить | Цитировать Сообщить модератору
 Re: Обновление recordset.  [new]
AndreK
Member

Откуда:
Сообщений: 3251
Отдельный привет тем, у кого на каждый месяц - отдельная таблица. Как говорится, Бог им судья (или "Так им и надо").

Увы - это ко мне...

Вообще-то это надо в "Из жизни идиотов", но здесь подняли эту тему.
Не я это придумал, я расхлёбываю. Ситуация:

Работает лаборатория. Результаты анализов долбашат в досовые .dbf(ы) - на каждый день свой файл. Структура .dbf(а): имена столбцов - названия хим. элементов (практически вся таблица Менделеева за исключением газов, зато включая названия некоторых солей и технологических растворов). На 95% работают три поля - Si, Fe, Cu. Остальные поля нули(?) фиг вам - пробелы. Поля текстовые без всяких ограничений на вводе, таким образом получаем вместо вполне пристойного процентного содержания в столбцах пьяный базар. Ну и само собой никаких индексов

На все мои вопросы типа а как я дожен усреднять по группам?, отслеживать отдельный агрегат предположим за год? а за три? это что качать клиенту все твои нули чтоб посмотреть был анализ за этот день или нет? Это что я с сетью сделаю? (НетВарь). Ответ один - я тебе дал базу данных (?!?!) вот и пользуйся!!!

Через ж... но придумали как пользоваться этой байдой. Самое интересное что
я его всё-таки убедил в неправильности его подхода. Ну переписывать... сами понимаете, тем более что мы не одни сидим на этой "базе данных". Да, так вот как переубедил, так через пол-года он ещё три лаборатории вогнал в эти же файлы точно по такой же схеме. "А мне так проще" говорит.

Прошу прощения что не в тему...
29 авг 03, 09:39    [319752]     Ответить | Цитировать Сообщить модератору
 Re: Обновление recordset.  [new]
q
Guest
2 AndreK

А я не уверен, что их подход неправильный, если им так удобно.
Просто их ежедневные dbf-ки нужно закачивать в общу базу с некоторым преобразованием. Ничего страшного. Мне вообще текстовые файлы приходится парсить (и модифицировать парсер вслед уходящей жизни).
29 авг 03, 09:48    [319764]     Ответить | Цитировать Сообщить модератору
 Re: Обновление recordset.  [new]
AndreK
Member

Откуда:
Сообщений: 3251
Я видел как используются эти dbf-ки другие клиенты. Лаборанты занесли результаты анализов, распечатали на бумажку, отдали технологам, всё! Технолог, анализируй (вчерашние и позавчерашние анализы у тебя есть)! С меня-то требуют всевозможную машинную статистику.

Зачем хранить (таскать их по сети) нули? Зачем пускать в сеть заведомо ложную информацию?

Проще ему потому что он выработал этакую болванку из .prg файлов. Поэтому новая лаборатория - просто другое имя .dbf-ки, имена полей поменял, всё! интерфейс занесения-вынесения готов! Трафарет.

Ну а выкрутились мы так как ты сказал: перекладываем в нормальный dbf с фильтрацией неверной информации и предварительной обработкой. DBF доживает последние деньки - переливаем сейчас в таблицы SQL2000.

А зачем одно и то же хранить более одного раза?
29 авг 03, 12:42    [320143]     Ответить | Цитировать Сообщить модератору
 Re: Обновление recordset.  [new]
q
Guest
2 AndreK

А зачем одно и то же хранить более одного раза?

По разным причинам.
Например одно покрасивее, другое побыстрее, одно как должно, другое как получилось, одно старое, другое новое.
Или - поиск виновного - достал dbf присланый пользователем, ткнул носом - все.
29 авг 03, 12:49    [320164]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить