Что лучше коррелированный подзапрос или INNER JOIN

Есть таблица check и corp

Запрос выглядит примерно так:

SELECT 
    check.contr_date
    check.bank_account
    ... (Ещё 6 полей из check) 
    (TRIM(corp.name1) || TRIM (corp.name2) || TRIM(corp.name2) AS corp_name
FROM
    check
    INNER JOIN corp USING(id_corp) 

Как видно таблица corp нужна только чтобы получить названия корпорации. Это можно сделать и подзапросом. Вопрос в том что будет быстрее? Есть ли способ это как-то замерить?


Ответы (1 шт):

Автор решения: LevAri

Какую СУБД вы используете?

Если работаете с MySQL\Maria DB, то перед вашим запросом можно указать ключевое слово 'explain' В таблице вывода помимо значений из столбцов будут содержаться параметры, указывающие на скорость выполнения запроса. Можно сравнить вариант с join и с подзапросом.

Подробнее можно почитать тут

→ Ссылка