|
|
|
стоит ли использовать EAV, если число параметров ограничено
|
|||
|---|---|---|---|
|
#18+
miksoftOLEG_2005miksoftOLEG_2005Она вообще реализуема на практике?Вполне реализуема. Только делает весьма затруднительным поиск объекта по произвольному набору атрибутов. В чем вы видете проблему помска побъекта по произвольноому набору атрибутов? В этом случае пришлось бы, видимо, добавлять огромное число индексов, для поиска по всем атрибутам.MasterZivОтдельный атрибут может быть нифига не селективный, а вместе три - наоборот, высоко селективный критерий. А индекс по совокупности не построить.В данном случае индекс по нескольким атрибутам построить можно, но по всем возможным их комбинациям - нет. Кроме того, большое количество индексов: 1) затрудняет работу оптимизатора. 2) уменьшает производительность всех INSERT/UPDATE/DELETE. И еще - становятся велики шансы налететь на ограничения размера записи, обсуждалось выше. При "утаптывании" размера записи может возникнуть желание использовать специальные типы (числа, даты, время), вместо общего строкового. Что, в свою очередь, приведет к ограничениям по количеству атрубутов каждого типа. Кому-то из клиентов может захотеться 20 дат, а кому-то - 20 чисел. В итоге 20+20 полей в лимит могут не уместиться. Если предположить, что в таблице допустим 20 атрибутов типа varchar(200-250), вроде бы в совокупности они не превышают максимальный размер записи для MYSQL. Предположительно такое максимальное число атрибутов вполне достаточно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2010, 20:53 |
|
||
|
стоит ли использовать EAV, если число параметров ограничено
|
|||
|---|---|---|---|
|
#18+
miksoftOLEG_2005огромное число индексовКстати, не все СУБД вообще позволят создать такое количество индексов. В MySQL лимит, кажется, всего 16 индексов на таблицу. Интересная мысль. Посмотрю какой-максимальное количество в таблице может быт в MYSQL. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2010, 20:55 |
|
||
|
стоит ли использовать EAV, если число параметров ограничено
|
|||
|---|---|---|---|
|
#18+
Кифирчика если рассмотреть в качестве СУБД что-то с xquery... к примеру MSSQL, и хранить "переменный" набор в xml? В этом случае допустим, если вы удалили атрибут из списка, было бы сложно удалить значение этого атрибута у всех подписчиков данного списка. Кроме проблем с поддержанием целостность данным, поиск по отдельным данным представляется проблематичным, как в этом случае индексировать по атрибутам? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2010, 20:59 |
|
||
|
стоит ли использовать EAV, если число параметров ограничено
|
|||
|---|---|---|---|
|
#18+
OLEG_2005В этом случае допустим, если вы удалили атрибут из списка, было бы сложно удалить значение этого атрибута у всех подписчиков данного списка ну почему же... сам тесно не работал, но на сколько понимаю xquery и создан от части для того, чтоб работать с вложенными xml данными как полями таблицы OLEG_2005поиск по отдельным данным представляется проблематичным, как в этом случае индексировать по атрибутам? я думаю там как-то индексируется ) хотя понятно, чудес не бывает, тормоза будут... вопрос - больше или меньше чем с EAV? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2010, 21:11 |
|
||
|
стоит ли использовать EAV, если число параметров ограничено
|
|||
|---|---|---|---|
|
#18+
КифирчикOLEG_2005В этом случае допустим, если вы удалили атрибут из списка, было бы сложно удалить значение этого атрибута у всех подписчиков данного списка ну почему же... сам тесно не работал, но на сколько понимаю xquery и создан от части для того, чтоб работать с вложенными xml данными как полями таблицы OLEG_2005поиск по отдельным данным представляется проблематичным, как в этом случае индексировать по атрибутам? я думаю там как-то индексируется ) хотя понятно, чудес не бывает, тормоза будут... вопрос - больше или меньше чем с EAV? Честно говоря, я не большой знаток xquery. К тому же пока работаем c mysql. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2010, 21:15 |
|
||
|
стоит ли использовать EAV, если число параметров ограничено
|
|||
|---|---|---|---|
|
#18+
miksoftOLEG_2005огромное число индексовКстати, не все СУБД вообще позволят создать такое количество индексов. В MySQL лимит, кажется, всего 16 индексов на таблицу. Нашел ссылку: http://www.mysql.ru/docs/man/Features.html. Похоже это относится ещё к более ранним версиям. Там написано: "Для каждой таблицы разрешается иметь до 32 индексов. Каждый индекс может содержать от 1 до 16 столбцов или частей столбцов." ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2010, 21:24 |
|
||
|
стоит ли использовать EAV, если число параметров ограничено
|
|||
|---|---|---|---|
|
#18+
On 13.10.2010 14:26, OLEG_2005 wrote: > Я пока не нашел максимальный размер записи для MYSQL, Его надо искать в описании конкретного движка. Это размер страницы минус немного на заголовки. но мне кажется, что > несколько десятков атрибутов можно было бы вполне хранить в столбцах таблицы, > даже, если среди них есть довольно большие по размеру текстовые поля, хотя может > быть я и ошибаюсь. размер страницы в современных СУБД обычно 8 или 16 к. Э Это примерно 32-64 поля по 256 байт/символов. Чуть меньше, потому что есть ещё системные данные на страницах и поля ключа записи. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2010, 10:07 |
|
||
|
стоит ли использовать EAV, если число параметров ограничено
|
|||
|---|---|---|---|
|
#18+
MasterZiv On 13.10.2010 14:26, OLEG_2005 wrote: > Я пока не нашел максимальный размер записи для MYSQL, Его надо искать в описании конкретного движка. Это размер страницы минус немного на заголовки. но мне кажется, что > несколько десятков атрибутов можно было бы вполне хранить в столбцах таблицы, > даже, если среди них есть довольно большие по размеру текстовые поля, хотя может > быть я и ошибаюсь. размер страницы в современных СУБД обычно 8 или 16 к. Э Это примерно 32-64 поля по 256 байт/символов. Чуть меньше, потому что есть ещё системные данные на страницах и поля ключа записи. Вполне возможно, что 20 полей по 255 байт было бы приемлемым решением. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2010, 10:11 |
|
||
|
стоит ли использовать EAV, если число параметров ограничено
|
|||
|---|---|---|---|
|
#18+
On 14.10.2010 11:11, OLEG_2005 wrote: > Вполне возможно, что 20 полей по 255 байт было бы приемлемым решением. Ну, думай. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2010, 10:43 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=36898143&tid=1542492]: |
0ms |
get settings: |
4ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
152ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
32ms |
get tp. blocked users: |
1ms |
| others: | 201ms |
| total: | 412ms |

| 0 / 0 |
