SQL-запрос

Vital7

Новичок
Ребят, у меня вопрос в теории. Есть несколько типов заказов. Например, обувь, одежда, игрушки. А теперь рассмотрим 2 варианта создания таблиц в БД:
1. Общая таблица заказов с полем тип
2. Отдельная таблица для каждого типа заказа
Далее, я хочу выбрать из БД какой-то отдельный тип (например, обувь) по id юзера.
А теперь сам вопрос: какой из вариантов будет работать быстрее?
 

AnrDaemon

Продвинутый новичок
Тот, который окажется в кеше БД на момент вызова.
Опять занимаемся преждевременной оптимизацией?
 

флоппик

promotor fidei
Команда форума
Партнер клуба
Чувак, у тебя не "теоретический" вопрос, а тупо безграмотный. Книжек почитай, что ли, с реальными проектами поработай, и дурацкие вопросы пропадут.
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Ребят, у меня вопрос в теории. Есть несколько типов заказов. Например, обувь, одежда, игрушки. А теперь рассмотрим 2 варианта создания таблиц в БД:
1. Общая таблица заказов с полем тип
2. Отдельная таблица для каждого типа заказа
Далее, я хочу выбрать из БД какой-то отдельный тип (например, обувь) по id юзера.
А теперь сам вопрос: какой из вариантов будет работать быстрее?
Ответь теперь мне. Что будет если типов будет становиться все больше и больше? Ты на каждый чих будешь пилить по таблице? Чтобы с ними работать кстати, тоже надо потратить несколько файловых дескрипторов, чтобы открыть-записать-закрыть данные в табличку. На этом экономить не думал?)

Если ты создаешь одну таблицу, какой тип поля у тебя будет в type? Будет ли там индекс?
 

Vital7

Новичок
Ответь теперь мне. Что будет если типов будет становиться все больше и больше? Ты на каждый чих будешь пилить по таблице? Чтобы с ними работать кстати, тоже надо потратить несколько файловых дескрипторов, чтобы открыть-записать-закрыть данные в табличку. На этом экономить не думал?)

Если ты создаешь одну таблицу, какой тип поля у тебя будет в type? Будет ли там индекс?
Согласен, на этом стоит экономить. В поле type так и будет строка: обувь, одежда или игрушки. Т.е. лучше создать общую таблицу?
Вообще у меня только у одного типа есть поле, которого нету у других, этот товар не так востребован. Стоит ли из-за него это поле присваивать ко всем типам (т.к. таблица общая) с NULL по умолчанию?
 

hell0w0rd

Продвинутый новичок
По моему самый правильный совет от флоппика, дуй книжки читать. Судя по вопросу ты вообще не представляешь что такое реляционная модель и нормализация. Или возьми mongo:)
 

Vital7

Новичок
По моему самый правильный совет от флоппика, дуй книжки читать. Судя по вопросу ты вообще не представляешь что такое реляционная модель и нормализация. Или возьми mongo:)
Я ток писать движки умею. xD В оптимизации вообще пенек.
 

hell0w0rd

Продвинутый новичок
При чем тут оптимизация? 1,2,3 нормальная форма в реляционной модели - это как циклы в программировании, самая база.
http://www.ozon.ru/context/detail/id/110336/ - мне вот эта книга многое прояснила. Возможно сейчас есть что-то новее.
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Согласен, на этом стоит экономить. В поле type так и будет строка: обувь, одежда или игрушки. Т.е. лучше создать общую таблицу?
Вообще у меня только у одного типа есть поле, которого нету у других, этот товар не так востребован. Стоит ли из-за него это поле присваивать ко всем типам (т.к. таблица общая) с NULL по умолчанию?
Все понятно. Экономия на спичках... В поле type не должно быть строки, там, блин, должен быть id типа, который положили в корзинку.

Если свойства могут сильно разниться, то пилим EAV, но с оптимизациями.
 

Vital7

Новичок
Все понятно. Экономия на спичках... В поле type не должно быть строки, там, блин, должен быть id типа, который положили в корзинку.

Если свойства могут сильно разниться, то пилим EAV, но с оптимизациями.
Спасибо, помог.
 
Сверху