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
Форумы портала PHP.SU :: Версия для печати :: архитектура склада [3]
Форумы портала PHP.SU » PHP » SQL и Архитектура БД » архитектура склада

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

31. LIME - 16 Августа, 2013 - 09:23:37 - перейти к сообщению
Stierus пишет:
с разным отображением
для этого и сделан тип в таблице характеристик
если задуман как булев будет чекбоксом отображаться
или ты о чем?
Stierus пишет:
Да и инты в строки пихать можно
но выборку неудобно делать будет
(Добавление)
Stierus пишет:
Это например "Форматы воспроизведения аудио"
это характеристика formats с текстовым значением
для разных товаров разное значение
что-то не догоняю
32. Stierus - 16 Августа, 2013 - 09:25:49 - перейти к сообщению
я о том, что в той структуре на каждый тип идет своя таблица. в Их структуре сейчас 2 типа - строки и числа, как только этих типов будет больше - таблиц тоже будет больше. Если по каким-то причинам кому-то удобнее использовать юнионы - пусть использует, мне ближе 1 джойн и выбор, на какое поле смотреть.
(Добавление)
Цитата:
это характеристика formats с текстовым значением
для разных товаров разное значение
что-то не догоняю

Это у вас текст, а у нас каждый поддерживаемый формат отдельно что бы по ним можно было выставить фильтр. Есть свойства-перечисления (как в примере), есть свойства - диапазоны (например, для каких возрастов подходит игрушка 4 - 8, а в фильтре можно спросить возраст ребенка и 6-тилетним детям показывать игрушки, у которых свойство возраст в нужном диапазоне ... но можно все сделать строками, я не спорю)
33. LIME - 16 Августа, 2013 - 09:29:13 - перейти к сообщению
3 поля и джоин против 1 поля и юниона 3х тбл
не вижу явных преимуществ
посему попробую сначала по своему
(Добавление)
Stierus пишет:
Есть свойства-перечисления (как в примере), есть свойства - диапазоны
ага...и у вас они связаны с еще одной таблицей если свойство это подразумевает....так?
или как?
34. Stierus - 16 Августа, 2013 - 09:33:30 - перейти к сообщению
Да, связано
35. LIME - 16 Августа, 2013 - 09:39:03 - перейти к сообщению
можно попробовать
но как этим пользоваться что-то пока не соображу
как будет выглядеть запрос?
ведь тут вроде подзапрос в IF напрашивается ...нет?
36. Stierus - 16 Августа, 2013 - 09:45:34 - перейти к сообщению
мультисвойства идут по отдельной схеме, там все на много сложнее, нам не удалось уложить все в один алгоритм
37. LIME - 16 Августа, 2013 - 09:48:35 - перейти к сообщению
этого я и боялся
и по какой такой схеме
выбирать дополнительно еще и тип и допрашивать отдельно диапазоны после основной выборки если тип требует?
другого не приходит на ум
(Добавление)
опять же перечисляемый тип можно задать типом фильтра и связать из той же таблицы целых значений и так же сделать добор после основного
пока не буду менять базу
спасибо за мысли
38. Stierus - 16 Августа, 2013 - 09:53:03 - перейти к сообщению
примерно так и есть. Пробовали делать с лишним джойном и group_concat, но вышло медленнее и сложнее
39. LIME - 16 Августа, 2013 - 10:21:48 - перейти к сообщению
так а что по поводу индексов?
я выше задавал
стоит отдельно индексировать?
40. Stierus - 16 Августа, 2013 - 10:31:45 - перейти к сообщению
я не вижу вопрос про индексы, задай еще раз
41. LIME - 16 Августа, 2013 - 10:32:33 - перейти к сообщению
LIME пишет:
еще вопрос
я в таблицах связей делаю оба поля первичным
есть ли смысл добавлять отдельный индекс для полей для выборки?
например в таблице связи характеристик с категориями возможно вообще лучше снять индекс с id характеристик
42. Stierus - 16 Августа, 2013 - 10:37:38 - перейти к сообщению
индексы проставляются исходя из селектов, которые будут идти.
Цитата:
я в таблицах связей делаю оба поля первичным
У тебя составной праймари кей? Если да - на каких полях?
Цитата:
есть ли смысл добавлять отдельный индекс для полей для выборки?
для каких полей?
Цитата:
например в таблице связи характеристик с категориями возможно вообще лучше снять индекс с id характеристик
если у тебя уже стоит первичный ключ на id, то еще и индекс по id не нужен
43. caballero - 16 Августа, 2013 - 10:37:53 - перейти к сообщению
Цитата:
caballero по поводу перечисления через разделитель как-то это не комильфо
что если одно значение совпадет с частью другого?

ставь запятую и учитывай ее в like
с другой стороны может человек и ищет по части слова

Цитата:
Да и инты в строки пихать можно, кто ж спорит, но это разные типы, с разным отображением

и что, рядом есть поле указывающее что это за тип

Цитата:
Когда у одного свойства есть заранее заложенные варианты значений и можно выбрать либо одно значение из этого заранее заложенного списка, либо несколько

без проблем перечисляются через запяую
у меня это разные типы чтобы при редактировании товара показывать список чекеров или комбобокс

Цитата:
я о том, что в той структуре на каждый тип идет своя таблица.

нафига?

Цитата:
Это у вас текст, а у нас каждый поддерживаемый формат отдельно что бы по ним можно было выставить фильтр.

нет проблем с фильтрами даже если формат не отдельно

Цитата:
мультисвойства идут по отдельной схеме, там все на много сложнее, нам не удалось уложить все в один алгоритм

отож


Цитата:
стоит отдельно индексировать?

особого смысла идексировать свойста и значение свойств не вижу

человек ищет либо по названию товара либо если по свойствам то это уже в пределах категории то есть по граниченному числу товаров
44. LIME - 16 Августа, 2013 - 10:39:58 - перейти к сообщению
посмотри в начале темы есть и рисунок и sql файл
я к тому что если первичный ключ составной а выборка идет по 1му то надо ли в этом случае его отдельно индексировать дополнительно?
(Добавление)
caballero пишет:
особого смысла идексировать свойста и значение свойств не вижу
для быстрого джойна при просмотре таблицы товаров
как-то все забыли что сначала это будет склад ))
45. Stierus - 16 Августа, 2013 - 10:50:55 - перейти к сообщению
если по первому из составного ключа - не надо. А вообще ответ на такой вопрос занимает куда меньше времени, если прогнать типичный запрос с индексом и без него Улыбка

 

Powered by ExBB FM 1.0 RC1