La transazione inizia con SET TRANSACTION, ma l'allocazione di Transaction_id viene ritardata fino al primo DML (vero DML - nella mia esperienza non un'istruzione SELECT)
Per me ha senso, non c'è motivo di eseguire il commit o il rollback di un SELECT.