|
|
|
Картотека
|
|||
|---|---|---|---|
|
#18+
KOT MATPOCKuHSenya_L А что, посчитать некошерно? Из-за такой ерундовины так ломать нормальную структуру с одной таблицей? Сползаю под стул... :) Держись!!!! Да, некошерно из-за объемов данных и универсальности вопроса. Если бы карточек было 100-200 - было бы без разницы, но когда начинаем считать милионы... Я в одном из своих предложений показывал, что по полю "значение" таблицы значений аттрибутов карточек нужен индекс. Иначе, для любого запроса с ограничением значений аттрибутов будем иметь FULL TABLE SCAN, т.е. полный просмотр большой таблицы. В оракле, например, можно сделать одно текстовое поле, но сделать индексы: - по самому, полю - по функциям преобразования значения поля к числу, дате и др.. Тогда SELECT * From T Where to_number(val) = 10, при наличии индекса на to_number(val) будет выполняться по индексу очень быстро. (Кстати, как следствие такого решения для упращения запросов я предлгал прописывать значениями по-умолчанию значение нового аттрибута во всех карточках) В других СУБД чаще всего такое невозможно, а т.к. автор задал вопрос на этот форум, то нужно универсальное решение, не зависящее от СУБД.Прости, но не согласен совершенно. Из-за одного "универсального" запроса такое выделывать? Увольте. Если уж речь зашла про оптимизацию. Во-первых, индексы по полям COMPUTED BY есть не только в Оракле. Во-вторых, пример (конечно, грубый, но из этой оперы :)): Код: plaintext 1. 2. Код: plaintext 1. 2. PS. Коль здешняя ветка по академическим методам проектирования, то надо сначала быть уверенным, что все стандартные методы оптимизации исчерпаны структуры. А в данном случае это далеко не так. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2009, 13:07 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=35811709&tid=1543446]: |
0ms |
get settings: |
10ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
152ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
| others: | 208ms |
| total: | 458ms |

| 0 / 0 |
