
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
11.02.2007, 20:40
|
|||
|---|---|---|---|
|
|||
При добавлении в базу большого кол-ва записей нарушается их порядок |
|||
|
#18+
Привет всем. Вопрос следующий: имеется приложение, написанное на vc++ 6.0, в котором используется DAO. В этом приложении производятся вычисления, в результате которых примерно каждые 0.01 сек осуществляется сброс в базу результатов расчета. Каждый из них я записываю последовательностью операций AddNew() и последующим Update(). При этом наблюдается следующий эффект: в самом начале, в первой 1000 записей, некоторое кол-во записей блоком по 100-200 записей пишутся раньше тех, что должны быть записаны до них. Проверяю, записывая их в обычный файл - всё нормально. Т.е. они "гуляют" где-то в памяти и "забывают" порядок, в котором шли друг за другом. Кто-нибудь с таким сталкивался? Можете доходчиво объяснить причину сего и как с этим бороться? Да, вычисления и запись в базу производятся в отдельном потоке, но в одном и том же. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
11.02.2007, 21:04
|
|||
|---|---|---|---|
|
|||
При добавлении в базу большого кол-ва записей нарушается их порядок |
|||
|
#18+
В базе нет порядка записей. Его надо задавать. Вставлять при формировании записи номер, время, или ещё что-нибудь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
11.02.2007, 21:21
|
|||
|---|---|---|---|
При добавлении в базу большого кол-ва записей нарушается их порядок |
|||
|
#18+
автоинкрементное поле на худой конец можно добавть в таблицу(и сделать его первичным ключом) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
11.02.2007, 21:28
|
|||
|---|---|---|---|
|
|||
При добавлении в базу большого кол-ва записей нарушается их порядок |
|||
|
#18+
В базе 66 полей (65 для результатов вычислений на каждом временном шаге, первое поле - время, в которое было произведено вычисление). Я так понимаю, что записи должны добавляться в конец таблицы. Иначе при отображении результатов мне придется делать сортировку, а для миллиона записей это сами знаете что. Я неправ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
11.02.2007, 21:50
|
|||
|---|---|---|---|
|
|||
При добавлении в базу большого кол-ва записей нарушается их порядок |
|||
|
#18+
b.a.n.g.Я так понимаю, что записи должны добавляться в конец таблицы. Иначе при отображении результатов мне придется делать сортировку, а для миллиона записей это сами знаете что. Я неправ? Таблица - это множество. Ни конца, ни начала у неё нет. Надо делать сортировку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
11.02.2007, 21:58
|
|||
|---|---|---|---|
|
|||
При добавлении в базу большого кол-ва записей нарушается их порядок |
|||
|
#18+
Кстати, если сортировать средствами sql server'а, то скорость получится нормальная ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
11.02.2007, 22:10
|
|||
|---|---|---|---|
|
|||
При добавлении в базу большого кол-ва записей нарушается их порядок |
|||
|
#18+
2 Изопропил Если я сделаю такое поле, то при последующем последовательном считывании таблицы (с помощью MoveNext), всё будет тип-топ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
11.02.2007, 22:14
|
|||
|---|---|---|---|
|
|||
При добавлении в базу большого кол-ва записей нарушается их порядок |
|||
|
#18+
2 Осака Вестингауз К сожалению даже без сортировки скорость чтения таблицы неприемлима (приходится долго ждать отображения графиков результатов .. при миллионе записей доходит до минуты), а уж если сортировать, то ппц :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
11.02.2007, 22:30
|
|||
|---|---|---|---|
При добавлении в базу большого кол-ва записей нарушается их порядок |
|||
|
#18+
b.a.n.g.2 Изопропил Если я сделаю такое поле, то при последующем последовательном считывании таблицы (с помощью MoveNext), всё будет тип-топ? Сортировка по первичному индексу дополнительных затрат не вызовет (DAO) При использовании MSSQL - делайте кластерный индекс. DAO как используется ? GetRows пробовали? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
11.02.2007, 22:35
|
|||
|---|---|---|---|
|
|||
При добавлении в базу большого кол-ва записей нарушается их порядок |
|||
|
#18+
2 Изопропил DAO используется через MFC, если вы об этом. GetRows, нет, не пробовал .. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
11.02.2007, 22:42
|
|||
|---|---|---|---|
При добавлении в базу большого кол-ва записей нарушается их порядок |
|||
|
#18+
b.a.n.g.2 Изопропил DAO используется через MFC, если вы об этом. GetRows, нет, не пробовал .. Именно об этом ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
11.02.2007, 23:55
|
|||
|---|---|---|---|
|
|||
При добавлении в базу большого кол-ва записей нарушается их порядок |
|||
|
#18+
Всем спасибо. Проблема решена добавлением автоинкрементного индекса и сортировкой по нему, как и советовали :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
12.02.2007, 10:25
|
|||
|---|---|---|---|
При добавлении в базу большого кол-ва записей нарушается их порядок |
|||
|
#18+
b.a.n.g. пишет: > их в обычный файл - всё нормально. Т.е. они "гуляют" где-то в памяти и > "забывают" порядок, в котором шли друг за другом. Кто-нибудь с таким > сталкивался? Можете доходчиво объяснить причину сего и как с этим > бороться? Вы бы задавали лучше ваши вопросы в более подходящей для этого конференции. Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=57&mobile=1&tid=2029468]: |
0ms |
get settings: |
8ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
187ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
| others: | 211ms |
| total: | 501ms |

| 0 / 0 |
