31.01.2007, 13:25 | #1 |
Moderator
|
Порядок записей при вставке
Доброго времени суток!
Последние три дня искал решение для такой проблемы (и только что решил): при вставке в таблицу InventJournalTransTemplate (создана на var слое) записи становились не последовательно (в порядке вставки), а в соответствии с одним из индексов (не кластерный, не Primary в Аксапте). Если отключаю этот индекс то порядок становился совсем необъяснимым. На таблице в Аксапте не было PrimaryIndex, нет и кластерного индекса. Существует три индекса: TemplateIdx (TransTemplateId), JournalIdx(JournalId), JournalInventDimIdx (JournalId, InventDimId) При вставке в таблицу записи становились в порядке соответствующим (сортируются по полям индекса) JournalInventDimIdx. Что увидел на SQL Srv: I_30008TEMPLATEIDX DATAAERAID, TRANSTEMPLATEID I_30008JOURNALIDX DATAAERAID, JOURNALID I_3008JOURNALINVENTDIMIDX DATAAREAID, JOURNALID, INVENTDIMID, RECID Интересно, что SQL Srv в индекс I_3008JOURNALINVENTDIMIDX добавил RecId, хотя в Аксапте его нет. Как я понял, SQL Srv добавил RecId для того чтобы сделать индекс уникальным и использовать как PrimaryKey. Проблему решило добавление RecId на индекс TemplateIdx в Аксапте + сделал его уникальным и Primary. Вопрос -- правильно ли я поступил? |
|
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|