Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Посоветуйте как лучше сделать
|
|||
|---|---|---|---|
|
#18+
Задача: есть таблица с N булевыми столбцами b(i) (так же в таблице может быть столбец B из N бит у которого k бит установлен в 1 если k булевый столбец имеет значение true) Требуется выбирать все подходящие записи из таблицы по условиям вида: b(k1) and b(k2) and ... and b(km) (или B¶m=param) наиболее быстрым способом. Соответственно SeqScan не подходит так как в таблице очень много записей (несколько миллионов). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2006, 10:30 |
|
||
|
Посоветуйте как лучше сделать
|
|||
|---|---|---|---|
|
#18+
Если я правильно понял задачу, то лучше эти данные не пихать в единственную таблицу. Имею в виду, что у тебя матрица из нулей и единиц, а с боку к ней еще какой-то массив прибит в виде B? Если так, то может проще B в отдельно табличке сделать. А записи там будут, например, только те, которые указывают на 1-цы в первой таблице... Ради интереса. Это какая-то практическая задача или чисто алгоритмическая? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2006, 12:09 |
|
||
|
Посоветуйте как лучше сделать
|
|||
|---|---|---|---|
|
#18+
SOmniРади интереса. Это какая-то практическая задача или чисто алгоритмическая?Интересная постановка вопроса. А что, задача не может быть одновременно и практичекой и алгоритмической? Или-таки вместо "алгоритмическая" необходимо читать "теоретическая"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2006, 12:13 |
|
||
|
Посоветуйте как лучше сделать
|
|||
|---|---|---|---|
|
#18+
SOmniЕсли я правильно понял задачу, то лучше эти данные не пихать в единственную таблицу. Имею в виду, что у тебя матрица из нулей и единиц, а с боку к ней еще какой-то массив прибит в виде B? Если так, то может проще B в отдельно табличке сделать. А записи там будут, например, только те, которые указывают на 1-цы в первой таблице... Ради интереса. Это какая-то практическая задача или чисто алгоритмическая? Неправильно понял задачу:-)) Задача звучит так: есть товар, у товара может быть свойство или не быть (0 или 1). товаров много, свойств тоже много. Нужно найти в базе все товары с указанными пользователем свойствами. Например если товар телевизоры то примеры свойст такие: (картинка в картинке, плоский, 16на9, долби диджитал и т.д.) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2006, 12:17 |
|
||
|
Посоветуйте как лучше сделать
|
|||
|---|---|---|---|
|
#18+
Владимор Конев SOmniРади интереса. Это какая-то практическая задача или чисто алгоритмическая?Интересная постановка вопроса. А что, задача не может быть одновременно и практичекой и алгоритмической? Или-таки вместо "алгоритмическая" необходимо читать "теоретическая"? Да я это к тому, что как-то всё расплывчато... битовые маски какие-то... Может и БД тут нафиг не нужна, а человек заблудился просто :) Теперь всё встало на свои места... Вариант: берем табличку table_1, в которой есть поля id_goods id_property Заполняем для всех товаров, какие свойства у них есть ну и потом select g.* from goods g, table_1 t where g.id=t.id_goods and g.id_property in (1,5,7,8...) -------------- теперь правильно понял задачу? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2006, 12:39 |
|
||
|
Посоветуйте как лучше сделать
|
|||
|---|---|---|---|
|
#18+
ошибочка вышла. так, конечно: select g.* from goods g, table_1 t where g.id=t.id_goods and t.id_property in (1,5,7,8...) ---------- ну и индексы не забыть, работать должно быстро ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2006, 12:41 |
|
||
|
Посоветуйте как лучше сделать
|
|||
|---|---|---|---|
|
#18+
SOmniошибочка вышла. так, конечно: select g.* from goods g, table_1 t where g.id=t.id_goods and t.id_property in (1,5,7,8...) ---------- ну и индексы не забыть, работать должно быстро можно попробовать:-) спасиб только нужно учесть что в таблице goods будет около миллиона записей и у каждого товара около 100 свойств. то естьв таблице table_1 будет около 100 мульенов записей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2006, 13:16 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=33869048&tid=2006224]: |
0ms |
get settings: |
9ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
59ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
| others: | 229ms |
| total: | 391ms |

| 0 / 0 |
