Производительность Mysql: 1 запрос на 3 таблицы или 2 запроса? - PullRequest
0 голосов
/ 19 августа 2011

Мне нужны данные из 3 разных таблиц:

  1. Таблица Catergory

  2. Счет 1

  3. Scoretable 2

Что теперь лучше для производительности?

  1. Сделать 3 отдельных запроса SELECT

  2. Сделайте 2 запроса и соедините счетные 1 и 2 и выполните обычный запрос выбора для категорий

  3. Соедините все 3 запроса в 1?

Number 2:

SELECT scoretable1.category, scoretable1.score, scoretable2.score
FROM scoretable1, scoretable2
WHERE scoretable1.consultant = scoretable2.consultant 
AND scoretable2.consultant = '14' 
AND scoretable1.category = scoretable2.category

Большое спасибо!

PS Таблица категорий очень мала, поэтому я могу экспортировать ее также в виде файла кэша в виде сериализованного массива?(Может быть, лучший способ для этой таблицы)

Ответы [ 2 ]

1 голос
/ 19 августа 2011

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

0 голосов
/ 19 августа 2011

самым быстрым будет ВНУТРЕННЕЕ СОЕДИНЕНИЕ из таблицы категорий к двум другим, просто попробуйте сделать 1000 выбор в программе и проверить время, которое требуется всеми различными методами

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...