Я не думаю, что указание левого соединения повлечет за собой снижение производительности (я предполагаю, что @searchTags пуст, если @tagstring равно нулю или пусто).
Или вы не хотите понизить производительность за присоединение @searchTags к тегам?
В вашем примере не совсем понятно, откуда берутся данные в @searchtags.
LEFT JOIN Tags t on t.TagId = bt.TagId AND @tagstring is not null AND @tagstring <> ''
Сервер должен быть достаточно умным, чтобы вообще не пытаться подключиться с этим условием. Я бы не подумал, что это может привести к значительному снижению производительности в любом случае.
Если вы хотите, чтобы столбцы вообще не отображались в результате, по какой-то причине блок IF ... ELSE с двумя различными запросами - это самый простой способ сделать это.