Il costo delle prestazioni è che ogni volta che mysql deve eseguire una conversione di tipo da qualunque cosa tu gli dai al tipo di dati della colonna. Quindi con la tua domanda
Se col1 non è un tipo stringa, MySQL deve convertire '3' in quel tipo. Questo tipo di query non è un grosso problema, poiché il sovraccarico di prestazioni di quella conversione è trascurabile.
Tuttavia, quando provi a fare la stessa cosa quando, diciamo, unisci 2 tabelle che hanno diversi milioni di righe ciascuna. Se le colonne in ON
non sono lo stesso tipo di dati, quindi MySQL dovrà convertire diversi milioni di righe ogni singola volta esegui la tua query e quella è qui che entra in gioco il sovraccarico delle prestazioni.