В общем случае не факт, что быстрее. Зависит от данных. С одной стороны экономится время на обращение к серверу БД, с другой тратится время на проверку уникальности данных. Сравни union vs. union all.
Union у себя лучше вообще запретить любым подручным способом, имхо. Меньше мороки с кулхацкерами, в случае чего, а случаи разные бывают.
Не вижу логики. Запретить юнион невозможно, а если таки инъекция случилась, то надругаться над жертвой можно и без юнион. Это всё равно, что кухонные ножи запрещать.
Сам не практикую, но на том же сайте автоваза наличие слова UNION в строке запроса автоматом крашит запрос Мультизапросы по дефолту не пашут. Отключи возможность вывода в файл, чтобы тебе шеллы не лили через SQL и всеу. Ну и права по-хорошему разграничить бы. Чтобы система коннектилась к БД для своих нужд под суперпользователем, а запросы извне обрабатывались под пользователем кастрированным. Тогда можно не бояться дропов и транков, к примеру.
UNION это не мультизапрос. мульти это когда несвязанные между собой через точку-с-запятой перечислены.