Информация об изменениях

Сообщение Re[6]: бездырочная нумерация от 15.04.2015 19:34

Изменено 15.04.2015 19:49 developer.cpp

Здравствуйте, wildwind, Вы писали:

W>Здравствуйте, developer.cpp, Вы писали:


d>> Данных слишком много (отмечу, что не в справочниках) и они не помещаются в ОП. А проанализировать их можно быстро, загрузив в непрерывный одномерный массив. Поэтому гружу в массив кусками select where 1<=idx<1000, затем select where 1000<=idx<2000 ... и обрабатываю по отдельности, а затем собираю результат обработки. Во время анализа на перенумерацию время тратить не эффективно, а вот когда пользователь ковыряется с таблицами пусть перенумеровывается.


W>Так, значит это не проблема "красивых номеров".

W>Но я все еще не вижу необходимости в перенумерации. Для того, чтобы "грузить кусками", не нужна строгая последовательность номеров, достаточно того, что они монотонно возрастающие.



W>Дополнительные вопросы.

W>1. Какая СУБД и версия используется.

SQLite3


W>2. Если данные не в справочниках, а в других таблицах, то что в данном справочнике? Только номера, а в других таблицах FK ссылки на него?


данные для обработки в других таблицах. Средствами СУБД их анализировать накладно, анализ делает специализированная числодробилка на C++.

данные вытаскиваются в многомерный массив u[i1][i2][i3][i4][i5], представляющий собой интерфейс к одномерному массиву. i1 --- номер из первого спраочника, i2 --- номер из второго справочника ...
Re[6]: бездырочная нумерация
Здравствуйте, wildwind, Вы писали:

W>Здравствуйте, developer.cpp, Вы писали:


d>> Данных слишком много (отмечу, что не в справочниках) и они не помещаются в ОП. А проанализировать их можно быстро, загрузив в непрерывный одномерный массив. Поэтому гружу в массив кусками select where 1<=idx<1000, затем select where 1000<=idx<2000 ... и обрабатываю по отдельности, а затем собираю результат обработки. Во время анализа на перенумерацию время тратить не эффективно, а вот когда пользователь ковыряется с таблицами пусть перенумеровывается.


W>Так, значит это не проблема "красивых номеров".

W>Но я все еще не вижу необходимости в перенумерации. Для того, чтобы "грузить кусками", не нужна строгая последовательность номеров, достаточно того, что они монотонно возрастающие.



W>Дополнительные вопросы.

W>1. Какая СУБД и версия используется.

SQLite3


W>2. Если данные не в справочниках, а в других таблицах, то что в данном справочнике? Только номера, а в других таблицах FK ссылки на него?


данные для обработки в других таблицах. Средствами СУБД их анализировать накладно, анализ делает специализированная числодробилка на C++.

данные вытаскиваются в многомерный массив u[i1][i2][i3][i4][i5], представляющий собой интерфейс к одномерному массиву. i1 --- номер из первого спраочника, i2 --- номер из второго справочника ...

Если i1 --- это индекс из "бездырочной нумерации" то по этому индексу запись делается сразу же в нужный участок памяти, и если i1 первичный ключ из множества
с дырками, то нужно вычислять что же это за элемент массива u