Koszt wydajności polega na tym, że zawsze, gdy mysql musi wykonać konwersję typu z tego, co mu podasz, na typ danych kolumny. Więc z twoim zapytaniem
Jeśli col1 nie jest typem ciągu, MySQL musi przekonwertować „3” na ten typ. Ten typ zapytania nie jest tak naprawdę wielkim problemem, ponieważ narzut wydajności tej konwersji wynosi znikome.
Jednak gdy próbujesz zrobić to samo, powiedzmy, dołączając do 2 stołów, z których każdy ma kilka milionów wierszy. Jeśli kolumny w ON
klauzule nie mają tego samego typu danych, wtedy MySQL będzie musiał przekonwertować kilka milionów wierszy za każdym razem uruchamiasz zapytanie i to to miejsce, w którym wkraczają koszty ogólne wydajności.