Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: EAV или Create table для фиксированнных наборов значений атрибутов? [3]

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (3): « 1 2 [3]   

> Без описания
LIME
Отправлено: 23 Апреля, 2015 - 22:10:26
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




tuareg пишет:
Обращение к ним если хватит памяти будет мгновенным
это если одно обращение
но вообще обращение к памяти не есть мгновение если зачастить
(Добавление)
обращение к памяти нифига не мгновенно
зависит от ньюансов
зря думаете что память это есть быстро
обычно это быстро потому что кэши работают
(Добавление)
которые захлебнуться когда будет тысяча таблиц
могу ошибаться
 
 Top
tuareg
Отправлено: 23 Апреля, 2015 - 22:15:16
Post Id


Участник


Покинул форум
Сообщений всего: 1234
Дата рег-ции: Июнь 2010  


Помог: 69 раз(а)




LIME пишет:

...............................

Я согласен, и не спорю. ))
 
 Top
LIME
Отправлено: 23 Апреля, 2015 - 22:15:22
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




тысяча маленьких таблиц
давай попробуем смоделировать
один запрос
очень быстро отработает
тысяча запросов
????
(Добавление)
сервер ляжет
имхо
(Добавление)
запись в кэш будет медленнее происходить чем будут прихождить запросы
(Добавление)
хотя...может и нет
Anchor
да
давай плоди тысячи таблиц
(Добавление)
заодно и узнаем))
 
 Top
Anchor
Отправлено: 24 Апреля, 2015 - 15:25:59
Post Id


Новичок


Покинул форум
Сообщений всего: 57
Дата рег-ции: Май 2014  


Помог: 0 раз(а)




Там нужно время, надо ведь не просто таблички понаделать. Надо именно сравнить работу с одной таблицей(когда все они запиханы в одну таблицу). Плюс ряд разных запросов более "естественных" протестить. Но я еще вернусь и подолблю эту тему=) А пока было решено для атрибутов не создавать отдельные таблицы. А хранить их все в одной таблице, но со столбцами по типам "int" "text".

LIME пишет:
Anchor рекомендую послушать туарега

Ну форумчанин tuareg советует избежать в этом случае* создания мелких таблиц на каждый атрибут? Верно я понял? Аргумент - скорость. Вместо этого хранить их (уникальные значения атрибутов) в одной таблице

в этом случае* Я понимаю прекрасно что "серебрянной пули нет", и что все зависит от ситуации. Реал понимаю. В погоне за универсальностью мы приобретаем проблемы с быстродействием и сложностью системы. Это проблемы - ВСЕХ универсальных систем. Просто абстрагируемся от этого=) Есть бассейн, вода втекает/и вытекает. А что там СНАРУЖИ бассейна - насос работает, или мифический Евпидокл льет, по барабану=) Такова постановка задачи, в данной теме - универсальный скрипт Каталога/Магазина.

(Отредактировано автором: 24 Апреля, 2015 - 16:44:18)

 
 Top
tuareg
Отправлено: 25 Апреля, 2015 - 01:11:14
Post Id


Участник


Покинул форум
Сообщений всего: 1234
Дата рег-ции: Июнь 2010  


Помог: 69 раз(а)




Anchor пишет:
форумчанин tuareg советует
взять пример из первого поста DeepVarvar, но не советует все типы (text, decimal) хранить в одной таблице. А для каждого типа сделать свою. ИМХО
+ Места меньше, индексы более вменяемы
- Дополнительные join-ы
 
 Top
DeepVarvar Супермодератор
Отправлено: 25 Апреля, 2015 - 08:43:33
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




tuareg пишет:
но не советует все типы (text, decimal) хранить в одной таблице. А для каждого типа сделать свою. ИМХО
Плохое имхо. Мутатень с таблицами же.
 
 Top
Anchor
Отправлено: 25 Апреля, 2015 - 09:45:57
Post Id


Новичок


Покинул форум
Сообщений всего: 57
Дата рег-ции: Май 2014  


Помог: 0 раз(а)




tuareg пишет:
взять пример из первого поста DeepVarvar, но не советует все типы (text, decimal) хранить в одной таблице. А для каждого типа сделать свою. ИМХО
+ Места меньше, индексы более вменяемы

К этому варианту я сначала и склонялся. Но фишка в том, что 1)Запросы будут проще если таблица одна 2)Про место понятно(в одной таблице будет много пустых ячеек), НО это таблица практически ни у кого не будет огромной, ну предел неск-ко тысяч записей, это ведь уникальные наборы значений. Исключения могут быть, но здесь мы идем по среднестатистическому магазину, а у него не много уникальных наборов значений.

(Отредактировано автором: 25 Апреля, 2015 - 09:47:34)

 
 Top
tuareg
Отправлено: 25 Апреля, 2015 - 11:36:20
Post Id


Участник


Покинул форум
Сообщений всего: 1234
Дата рег-ции: Июнь 2010  


Помог: 69 раз(а)




У нас на работе также было сделано. Все в одной таблице. Выборка по id +/- нормально, остальное ... .
Сейчас мы имеем жутко неповоротливый модуль. Потому как клиентам вдруг захотелось именно огромных каталогов( TECDOC ). Причем прикол в том, что в текстовых полях инфы почти и нет (20%-30%) заполнено.
Т.е я не претендую на истину в последней инстанции , но одна "свернутая" таблица ... . Я бы не использовал, с учетом вышесказанного.
 
 Top
Anchor
Отправлено: 25 Апреля, 2015 - 21:36:38
Post Id


Новичок


Покинул форум
Сообщений всего: 57
Дата рег-ции: Май 2014  


Помог: 0 раз(а)




[quote=tuareg][/quote]
А какое кол-во записей в этой таблице стало?

(Отредактировано автором: 25 Апреля, 2015 - 21:41:08)

 
 Top
tuareg
Отправлено: 25 Апреля, 2015 - 22:05:34
Post Id


Участник


Покинул форум
Сообщений всего: 1234
Дата рег-ции: Июнь 2010  


Помог: 69 раз(а)




У нас была версия миллиона на 1.5 строк. Пытались сделать по 5-10 полей, для каждой строки ( 1.5 * 5). Выдержать то выдержало, но сортировки и т.д. Все стало очень плохо ((
 
 Top
Anchor
Отправлено: 25 Апреля, 2015 - 22:36:19
Post Id


Новичок


Покинул форум
Сообщений всего: 57
Дата рег-ции: Май 2014  


Помог: 0 раз(а)




tuareg пишет:
У нас была версия миллиона на 1.5 строк.

Жесть Не понял Я рассуждаю когда вот проблема хай-лоада может стать не актуальной в вебе, для большинства крупных сирвисов? 13лет назад вспомнить смешно какое было железо. Лет через 15-20 мой вопрос "плодить ли таблицы" тоже был бы наверно не актуален=)
 
 Top
Страниц (3): « 1 2 [3]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« SQL и Архитектура БД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB