Здравствуйте! Предупреждаю, что крайне слабо разбираюсь в sql. Делаю модуль с таблицами (в основном прайс-листы) на PHP, mySQL и JS. Есть TABLES, которая хранит номера строк через запятую. Есть таблица со строками TABLES_STRINGS, которая хранит ID строк и номера блоков, из которых она состоит. Одна строка может быть в разных таблицах. В таблице TABLES_BLOCKS блоки хранят свои ID, NAME и какие-то свойства, но без содержимого. У каждого блока может быть неограниченное количество вариаций содержимого - они хранятся в таблице TABLES_BLOCKS_VAR со своими ID и т.п. Есть таблица TABLES_STRINGS_BLOCKS_VAR, которая хранит информацию о том, в какой таблице какая вариация блока в строке (TABLE_ID, STRING_ID, BLOCK_ID, VAR_ID). Всё это сделано для: сколь угодно таблиц(прайсов) с разным составом строк, но где-то может отличаться тайтл или цена или другой блок. Зато, если поменять цену в одном блоке, то цена поменяется во всех таблицах, где она есть. Какая-то синхронизация. Для sql я пользуюсь библиотекой ORM RedbeanPHP, в ней можно и простые запросы делать. Вопрос: можно упростить и хранить JSON в самой первой таблице с строками, блоками и их вариантами. Далее разобрать всё в PHP, но это уже будет не один запрос к базе, а как минимум 2-3. 1) Если писать вложенные запросы или JOIN-ами делать, будет ли какой-то профит в скорости? Стоит ли оно того? 2) Проще не париться и сделать несколькими запросами? 3) Многие ко многим, один ко многим - это моя тема, как то может помочь? Никак не могу понять( Я уверен, что можно сделать лучше, но не понимаю как. Не хотелось бы месяцы тратить на изучение. Помогите, пожалуйста правильно раскидать задачу. P.S. Есть таблица excel с демо-версией таблиц и запросом с JOIN-ами: disk.yandex.ru/i/oR98-Pt62ZZeIw
Тру программер работает только через консоль )
Здравствуйте! Предупреждаю, что крайне слабо разбираюсь в sql. Делаю модуль с таблицами (в основном прайс-листы) на PHP, mySQL и JS. Есть TABLES, которая хранит номера строк через запятую. Есть таблица со строками TABLES_STRINGS, которая хранит ID строк и номера блоков, из которых она состоит. Одна строка может быть в разных таблицах. В таблице TABLES_BLOCKS блоки хранят свои ID, NAME и какие-то свойства, но без содержимого. У каждого блока может быть неограниченное количество вариаций содержимого - они хранятся в таблице TABLES_BLOCKS_VAR со своими ID и т.п. Есть таблица TABLES_STRINGS_BLOCKS_VAR, которая хранит информацию о том, в какой таблице какая вариация блока в строке (TABLE_ID, STRING_ID, BLOCK_ID, VAR_ID). Всё это сделано для: сколь угодно таблиц(прайсов) с разным составом строк, но где-то может отличаться тайтл или цена или другой блок. Зато, если поменять цену в одном блоке, то цена поменяется во всех таблицах, где она есть. Какая-то синхронизация. Для sql я пользуюсь библиотекой ORM RedbeanPHP, в ней можно и простые запросы делать.
Вопрос: можно упростить и хранить JSON в самой первой таблице с строками, блоками и их вариантами. Далее разобрать всё в PHP, но это уже будет не один запрос к базе, а как минимум 2-3.
1) Если писать вложенные запросы или JOIN-ами делать, будет ли какой-то профит в скорости? Стоит ли оно того?
2) Проще не париться и сделать несколькими запросами?
3) Многие ко многим, один ко многим - это моя тема, как то может помочь? Никак не могу понять(
Я уверен, что можно сделать лучше, но не понимаю как. Не хотелось бы месяцы тратить на изучение. Помогите, пожалуйста правильно раскидать задачу.
P.S. Есть таблица excel с демо-версией таблиц и запросом с JOIN-ами: disk.yandex.ru/i/oR98-Pt62ZZeIw
Разъяснил, что такое вложенные запросы. Спасибо!
Это, как я понял, называется еще "Временные таблицы"?
где пишет это его загон ... вложенные запросы пишем в скобках и всё работает )
хрень
Фуфло. По делу информации 0.