powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / При добавлении в базу большого кол-ва записей нарушается их порядок
13 сообщений из 13, страница 1 из 1
При добавлении в базу большого кол-ва записей нарушается их порядок
    #34322206
b.a.n.g.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет всем.
Вопрос следующий: имеется приложение, написанное на vc++ 6.0, в котором используется DAO.
В этом приложении производятся вычисления, в результате которых примерно каждые 0.01 сек осуществляется сброс в базу результатов расчета. Каждый из них я записываю последовательностью операций AddNew() и последующим Update(). При этом наблюдается следующий эффект: в самом начале, в первой 1000 записей, некоторое кол-во записей блоком по 100-200 записей пишутся раньше тех, что должны быть записаны до них. Проверяю, записывая их в обычный файл - всё нормально. Т.е. они "гуляют" где-то в памяти и "забывают" порядок, в котором шли друг за другом. Кто-нибудь с таким сталкивался? Можете доходчиво объяснить причину сего и как с этим бороться? Да, вычисления и запись в базу производятся в отдельном потоке, но в одном и том же.
...
Рейтинг: 0 / 0
При добавлении в базу большого кол-ва записей нарушается их порядок
    #34322251
Осака Вестингауз
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В базе нет порядка записей. Его надо задавать. Вставлять при формировании записи номер, время, или ещё что-нибудь.
...
Рейтинг: 0 / 0
При добавлении в базу большого кол-ва записей нарушается их порядок
    #34322270
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автоинкрементное поле на худой конец можно добавть в таблицу(и сделать его первичным ключом)
...
Рейтинг: 0 / 0
При добавлении в базу большого кол-ва записей нарушается их порядок
    #34322281
b.a.n.g.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В базе 66 полей (65 для результатов вычислений на каждом временном шаге, первое поле - время, в которое было произведено вычисление).
Я так понимаю, что записи должны добавляться в конец таблицы. Иначе при отображении результатов мне придется делать сортировку, а для миллиона записей это сами знаете что.
Я неправ?
...
Рейтинг: 0 / 0
При добавлении в базу большого кол-ва записей нарушается их порядок
    #34322317
Осака Вестингауз
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
b.a.n.g.Я так понимаю, что записи должны добавляться в конец таблицы. Иначе при отображении результатов мне придется делать сортировку, а для миллиона записей это сами знаете что.
Я неправ?

Таблица - это множество. Ни конца, ни начала у неё нет. Надо делать сортировку.
...
Рейтинг: 0 / 0
При добавлении в базу большого кол-ва записей нарушается их порядок
    #34322327
Осака Вестингауз
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, если сортировать средствами sql server'а, то скорость получится нормальная
...
Рейтинг: 0 / 0
При добавлении в базу большого кол-ва записей нарушается их порядок
    #34322345
b.a.n.g.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Изопропил
Если я сделаю такое поле, то при последующем последовательном считывании таблицы (с помощью MoveNext), всё будет тип-топ?
...
Рейтинг: 0 / 0
При добавлении в базу большого кол-ва записей нарушается их порядок
    #34322353
b.a.n.g.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Осака Вестингауз
К сожалению даже без сортировки скорость чтения таблицы неприемлима (приходится долго ждать отображения графиков результатов .. при миллионе записей доходит до минуты), а уж если сортировать, то ппц :)
...
Рейтинг: 0 / 0
При добавлении в базу большого кол-ва записей нарушается их порядок
    #34322375
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
b.a.n.g.2 Изопропил
Если я сделаю такое поле, то при последующем последовательном считывании таблицы (с помощью MoveNext), всё будет тип-топ?


Сортировка по первичному индексу дополнительных затрат не вызовет (DAO)
При использовании MSSQL - делайте кластерный индекс.

DAO как используется ? GetRows пробовали?
...
Рейтинг: 0 / 0
При добавлении в базу большого кол-ва записей нарушается их порядок
    #34322382
b.a.n.g.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Изопропил
DAO используется через MFC, если вы об этом.
GetRows, нет, не пробовал ..
...
Рейтинг: 0 / 0
При добавлении в базу большого кол-ва записей нарушается их порядок
    #34322391
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
b.a.n.g.2 Изопропил
DAO используется через MFC, если вы об этом.
GetRows, нет, не пробовал ..
Именно об этом
...
Рейтинг: 0 / 0
При добавлении в базу большого кол-ва записей нарушается их порядок
    #34322443
b.a.n.g.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем спасибо. Проблема решена добавлением автоинкрементного индекса и сортировкой по нему, как и советовали :)
...
Рейтинг: 0 / 0
При добавлении в базу большого кол-ва записей нарушается их порядок
    #34322844
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
b.a.n.g. пишет:

> их в обычный файл - всё нормально. Т.е. они "гуляют" где-то в памяти и
> "забывают" порядок, в котором шли друг за другом. Кто-нибудь с таким
> сталкивался? Можете доходчиво объяснить причину сего и как с этим
> бороться?

Вы бы задавали лучше ваши вопросы в более подходящей для этого конференции.
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / При добавлении в базу большого кол-ва записей нарушается их порядок
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]