Обычно используется SELECT
в пределах SELECT
для уменьшения количества запросов; но, как я уже исследовал, это приводит к медленному запросу (что, очевидно, вредно для производительности MySQL). У меня был простой запрос как
SELECT something
FROM posts
WHERE id IN (
SELECT tag_map.id
FROM tag_map
INNER JOIN tags
ON tags.tag_id=tag_map.tag_id
WHERE tag IN ('tag1', 'tag2', 'tag3', 'tag4', 'tag5', 'tag6')
)
Это приводит к медленным запросам: «время запроса 3-4 с; время блокировки около 0,000090 с; проверено около 200 строк».
Если я разделю SELECT
запросов, каждый из них будет довольно быстрым; но это увеличит количество запросов, что не очень хорошо при высоком параллелизме.
Это обычная ситуация или что-то не так с моим кодированием?