У меня есть две таблицы с тем же именем столбца. Я хочу искать в них. Я исследовал и понял, что лучше использовать UNION ALL
INNER JOIN
(с точки зрения скорости и производительности). Теперь я хочу знать, если результат не найден, UNION ALL
еще лучше?внутреннее соединение VS union all, когда результат не найден
Я думаю, что алгоритм JOIN Keyword: если результат не найден в первой таблице, операция останавливается (во второй таблице поиск не будет). Но UNION ALL
искать все таблицы в любом случае. Думаю, правильно? Если моя мысль правильная, тогда INNER JOIN
лучше, если результат не найден?
пункт: col индексируется (phpmyadmin).
Теперь какой из них имеет лучшую производительность, если результат не найден?
SELECT col FROM table1 WHERE col='test'
UNION ALL
SELECT col FROM table2 WHERE col='test';
VS
SELECT col
FROM table1
INNER JOIN table2
ON table1.col=table2.col
WHERE col='test';
Измените свой вопрос и добавьте образцы данных и желаемые результаты. Что вы хотите, чтобы запрос возвращался, когда результат не найден? –
Ваш пример INNER JOIN не даст одинаковых результатов, это даст ИНТЕРСИКТ, а не UNION. – MatBailie