W przypadku MySQL 5.1 (i nowszych) dzieli pamięć na część całkowitą i część ułamkową oraz zapewnia miejsce na przechowywanie największej możliwej liczby. Tak więc dla DECIMAL(12,6) potrzebujesz 3 bajtów na część całkowitą i 3 bajty na część ułamkową. Nie wygląda na to, że zmniejsza pamięć na podstawie wartości; odkłada pamięć na bok bez względu na wartość.
Możesz sprawdzić dokumentację tutaj:
Dziesiętna strona podręcznika MySQL