|
|
|
Хранение order-а записей
|
|||
|---|---|---|---|
|
#18+
Есть ли какие-либо известные способы для хранения порядка записей (запись - информация о файле). Например есть база из 100k записей. Все записи выводятся в ListView. Я хочу чтобы последние 10 файлов выводились в середине, т.е. поменять порядок записей. - Если делать это физическим перемещением записей в базе, то на это уйдет уйма времени. - Сделать для этого отдельный индекс - быстрее, но все равно медленно. - В каждой записе хранить индекс предыдущего и последующего записей. Здесь траблы: 1. если какой-нибудь сбой программы/базы данных, то может потеряться цепочка order-a. 2. Если данные выводятся постепенно - то будет "мельтешение" ListView. 3. Ручное упорядочивание списка. Может уже есть готовые алгоритмы, решения, подскажите пожалуйста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2006, 16:02 |
|
||
|
Хранение order-а записей
|
|||
|---|---|---|---|
|
#18+
Держим в таблице поле N, каждую вставку делать так: Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2006, 18:36 |
|
||
|
Хранение order-а записей
|
|||
|---|---|---|---|
|
#18+
Kirill NabokovЕсть ли какие-либо известные способы для хранения порядка записей (запись - информация о файле). Например есть база из 100k записей. Все записи выводятся в ListView. Я хочу чтобы последние 10 файлов выводились в середине, т.е. поменять порядок записей. - Если делать это физическим перемещением записей в базе, то на это уйдет уйма времени. - Сделать для этого отдельный индекс - быстрее, но все равно медленно. - В каждой записе хранить индекс предыдущего и последующего записей. Здесь траблы: 1. если какой-нибудь сбой программы/базы данных, то может потеряться цепочка order-a. 2. Если данные выводятся постепенно - то будет "мельтешение" ListView. 3. Ручное упорядочивание списка. Может уже есть готовые алгоритмы, решения, подскажите пожалуйста. Неужели такое простое решение, как выше предложенное, до вас не дошло само собой????????? -- Tygra's -- Мои фотогалереи тут ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2006, 10:12 |
|
||
|
Хранение order-а записей
|
|||
|---|---|---|---|
|
#18+
[quote] Неужели такое простое решение, как выше предложенное, до вас не дошло само собой????????? [/quote] Указанный выше алгоритм автоматически нумерует записи, а мне нужно что если пользователь поменял порядок следования записей в ListView я мог бы сохранить этот порядок с базе. В выше указанном примере будет 1,2,3,4,5 а мне нужно 1,5,2,3,4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2006, 15:38 |
|
||
|
Хранение order-а записей
|
|||
|---|---|---|---|
|
#18+
Kirill Nabokov[quote] Неужели такое простое решение, как выше предложенное, до вас не дошло само собой????????? [/quote] Указанный выше алгоритм автоматически нумерует записи, а мне нужно что если пользователь поменял порядок следования записей в ListView я мог бы сохранить этот порядок с базе. В выше указанном примере будет 1,2,3,4,5 а мне нужно 1,5,2,3,4. Ну так и сохраняй. В чем проблема-то? update ордера для перемещенных записей по событию ListView (медленно) или по кнопке (быстро, но если забыли нажать...). Можешь прикрутить DataGrid с DataSet, там все автоматом будет. Если нужна персонализация (разный ордер для разных пользователей), то на делать многие-ко-многим и ордер в перекрестной таблице. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2006, 17:22 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=34173780&tid=1544853]: |
0ms |
get settings: |
7ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
150ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
35ms |
get tp. blocked users: |
1ms |
| others: | 194ms |
| total: | 416ms |

| 0 / 0 |
