Jump to content
  • 0

Запрос множества данных


Vlad
 Share

Question

Хотел сделать нечто вроде системы подбора коктейлей по разным критериям, данные при этом разбросаны по разным таблицам. Как в таком случае лучше поступить или другими словами, что будет быстрее работать или проще реализовать?

1. Один уберзапрос с подключением всех нужных таблиц.

2. Запрос к одной таблице, формирование массива на PHP и затем ряд простых запросов с выкидываением из массива элементов, не подходящих под условия.

3. Создание ряда временных таблиц после каждого простого запроса.

Link to comment
Share on other sites

5 answers to this question

Recommended Posts

  • 0

Мне кажется, что выбор зависит от: размера таблиц, характера планируемых запросов. Проще всего, наверное, поэкспериментировать, но в любом случае надо понимать что будет и как.

Link to comment
Share on other sites

  • 0

Рецептов примерно 2000, столько же и записей в основной таблице. Запросы простые типа SELECT * WHERE tag_id=5. Но это если несколько запросов, если один, то ой-ой, таблиц пять придётся за раз подключать в одном запросе.

Link to comment
Share on other sites

  • 0

Ну 2к это совсем мало, так что ничего особо страшного не вижу — можно, в принципе, делать как угодно. Если связь один-один, то можно заджойнить все таблицы. Если один-много, то можно тоже джойнить, а можно попробовать вложенные запросы с GROUP_CONCAT и CONCAT_WS — мы так делали на гораздо бо?льших размерах данных (разница в пару-тройку порядков) и всё работало хорошо и быстро. В любом случае, если таблички нормальные, на месте все индексы, то работать будет отлично.

Link to comment
Share on other sites

  • 0

На таких объёмах вообще не стоит запариваться — обычно достаточно просто расставить индексы. Я даже один раз видел «отличнейший» интернет-магазин, в котором было порядка 5000 товаров, у этих товаров были всякие свойства, которые подключались в зависимости от категори, в которой этот товар лежит. Так вот для генерации некоторых страниц производилось больше 700 запросов и ничего — работало, причём не было заметно, что внутри просто ад какой-то. Заметили только потому что сайт со временем стал превышать квоту провайдеров на количество селектов (такое бывает, да) и провайдер стал снимать дополнительные деньги.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy