Производительность SQL - преобразовать параметр или тип столбца

Меня спросили об этом на собеседовании, и я хотел бы получить отзыв...

У меня есть хранимая процедура, которая принимает в параметре varchar IsActive, который является строкой "YES" или "NO".

Хранимая процедура запросит таблицу, в которой есть столбец Active с типом данных bit. Если параметр "YES", он вернет все строки с битовым значением активного столбца, равным 1, в противном случае для "NO" он вернет все строки с битовым значением активного столбца, равным 0.

Лучше ли преобразовывать значение параметра из YES/NO в 1/0 или преобразовывать данные таблицы из 1/0 в YES/NO при запросе?

Является ли ответ тем же, если типы данных меняются местами (передается 1/0, ДА / НЕТ сохраняется в таблице)?

1 ответ

Я думаю, что лучше преобразовать параметр из "YES"/"NO" в 1/0, чтобы избежать необходимости хранить более объемные varchars в базе данных.

Я также думаю, что запрос, который фильтрует по битовым типам, будет более эффективным при поиске, чем запрос, который фильтрует по varchars.

Другие вопросы по тегам