De prestatiekosten zijn dat wanneer mysql een typeconversie moet doen van wat u het ook geeft naar het gegevenstype van de kolom. Dus met uw vraag
Als col1 geen stringtype is, moet MySQL '3' naar dat type converteren. Dit type zoekopdracht is niet echt een probleem, omdat de prestatieoverhead van die conversie is verwaarloosbaar.
Wanneer u echter hetzelfde probeert te doen, bijvoorbeeld door deel te nemen aan 2 tabellen die elk enkele miljoenen rijen hebben. Als de kolommen in de ON
clausule niet hetzelfde datatype zijn, dan zal MySQL elke keer enkele miljoenen rijen moeten converteren u uw zoekopdracht uitvoert, en dat hier komt de prestatieoverhead om de hoek kijken.