powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / стоит ли использовать EAV, если число параметров ограничено
10 сообщений из 85, страница 4 из 4
стоит ли использовать EAV, если число параметров ограничено
    #36898143
OLEG_2005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoftOLEG_2005miksoftOLEG_2005Она вообще реализуема на практике?Вполне реализуема.
Только делает весьма затруднительным поиск объекта по произвольному набору атрибутов.

В чем вы видете проблему помска побъекта по произвольноому набору атрибутов?
В этом случае пришлось бы, видимо, добавлять огромное число индексов, для поиска по всем атрибутам.MasterZivОтдельный атрибут может быть нифига не селективный, а вместе три -
наоборот, высоко селективный критерий. А индекс по совокупности
не построить.В данном случае индекс по нескольким атрибутам построить можно, но по всем возможным их комбинациям - нет.

Кроме того, большое количество индексов:
1) затрудняет работу оптимизатора.
2) уменьшает производительность всех INSERT/UPDATE/DELETE.

И еще - становятся велики шансы налететь на ограничения размера записи, обсуждалось выше.
При "утаптывании" размера записи может возникнуть желание использовать специальные типы (числа, даты, время), вместо общего строкового. Что, в свою очередь, приведет к ограничениям по количеству атрубутов каждого типа. Кому-то из клиентов может захотеться 20 дат, а кому-то - 20 чисел. В итоге 20+20 полей в лимит могут не уместиться.

Если предположить, что в таблице допустим 20 атрибутов типа varchar(200-250), вроде бы в совокупности они не превышают максимальный размер записи для MYSQL. Предположительно такое максимальное число атрибутов вполне достаточно.
...
Рейтинг: 0 / 0
стоит ли использовать EAV, если число параметров ограничено
    #36898145
OLEG_2005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoftOLEG_2005огромное число индексовКстати, не все СУБД вообще позволят создать такое количество индексов.
В MySQL лимит, кажется, всего 16 индексов на таблицу.

Интересная мысль. Посмотрю какой-максимальное количество в таблице может быт в MYSQL.
...
Рейтинг: 0 / 0
стоит ли использовать EAV, если число параметров ограничено
    #36898151
OLEG_2005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кифирчика если рассмотреть в качестве СУБД что-то с xquery... к примеру MSSQL, и хранить "переменный" набор в xml?

В этом случае допустим, если вы удалили атрибут из списка, было бы сложно удалить значение этого атрибута у всех подписчиков данного списка. Кроме проблем с поддержанием целостность данным, поиск по отдельным данным представляется проблематичным, как в этом случае индексировать по атрибутам?
...
Рейтинг: 0 / 0
стоит ли использовать EAV, если число параметров ограничено
    #36898166
Кифирчик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OLEG_2005В этом случае допустим, если вы удалили атрибут из списка, было бы сложно удалить значение этого атрибута у всех подписчиков данного списка
ну почему же... сам тесно не работал, но на сколько понимаю xquery и создан от части для того, чтоб работать с вложенными xml данными как полями таблицы

OLEG_2005поиск по отдельным данным представляется проблематичным, как в этом случае индексировать по атрибутам?
я думаю там как-то индексируется )
хотя понятно, чудес не бывает, тормоза будут... вопрос - больше или меньше чем с EAV?
...
Рейтинг: 0 / 0
стоит ли использовать EAV, если число параметров ограничено
    #36898171
OLEG_2005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КифирчикOLEG_2005В этом случае допустим, если вы удалили атрибут из списка, было бы сложно удалить значение этого атрибута у всех подписчиков данного списка
ну почему же... сам тесно не работал, но на сколько понимаю xquery и создан от части для того, чтоб работать с вложенными xml данными как полями таблицы

OLEG_2005поиск по отдельным данным представляется проблематичным, как в этом случае индексировать по атрибутам?
я думаю там как-то индексируется )
хотя понятно, чудес не бывает, тормоза будут... вопрос - больше или меньше чем с EAV?

Честно говоря, я не большой знаток xquery. К тому же пока работаем c mysql.
...
Рейтинг: 0 / 0
стоит ли использовать EAV, если число параметров ограничено
    #36898177
OLEG_2005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoftOLEG_2005огромное число индексовКстати, не все СУБД вообще позволят создать такое количество индексов.
В MySQL лимит, кажется, всего 16 индексов на таблицу.

Нашел ссылку: http://www.mysql.ru/docs/man/Features.html.
Похоже это относится ещё к более ранним версиям.
Там написано:
"Для каждой таблицы разрешается иметь до 32 индексов. Каждый индекс может содержать от 1 до 16 столбцов или частей столбцов."
...
Рейтинг: 0 / 0
стоит ли использовать EAV, если число параметров ограничено
    #36898610
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 13.10.2010 14:26, OLEG_2005 wrote:

> Я пока не нашел максимальный размер записи для MYSQL,

Его надо искать в описании конкретного движка.
Это размер страницы минус немного на заголовки.

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

размер страницы в современных СУБД обычно 8 или 16 к. Э
Это примерно 32-64 поля по 256 байт/символов. Чуть меньше,
потому что есть ещё системные данные на страницах и поля
ключа записи.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
стоит ли использовать EAV, если число параметров ограничено
    #36898619
OLEG_2005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv
On 13.10.2010 14:26, OLEG_2005 wrote:

> Я пока не нашел максимальный размер записи для MYSQL,

Его надо искать в описании конкретного движка.
Это размер страницы минус немного на заголовки.

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

размер страницы в современных СУБД обычно 8 или 16 к. Э
Это примерно 32-64 поля по 256 байт/символов. Чуть меньше,
потому что есть ещё системные данные на страницах и поля
ключа записи.


Вполне возможно, что 20 полей по 255 байт было бы приемлемым решением.
...
Рейтинг: 0 / 0
стоит ли использовать EAV, если число параметров ограничено
    #36898708
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 14.10.2010 11:11, OLEG_2005 wrote:

> Вполне возможно, что 20 полей по 255 байт было бы приемлемым решением.

Ну, думай.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
стоит ли использовать EAV, если число параметров ограничено
    #36898904
OLEG_2005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кто-нибудь сталкивался с документно-ориентированными БД вроде MongoDb?
...
Рейтинг: 0 / 0
10 сообщений из 85, страница 4 из 4
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / стоит ли использовать EAV, если число параметров ограничено
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]