Naar mijn mening zou bigint beter zijn. Het wordt opgeslagen als een geheel getal dat MySQL native zal begrijpen zonder enige conversie, en daarom (denk ik) sneller zal zijn in het manipuleren. Je zou daarom verwachten dat MySQL iets efficiënter zal zijn als je bigint gebruikt.
Volgens deze handleidingpagina , worden de eerste 9 cijfers van uw nummer opgeslagen in een blok van vier bytes en de resterende cijfers (u hebt er maximaal 12 nodig) in een blok van twee bytes. Dat betekent dat uw kolom 6 bytes per rij in beslag neemt, in tegenstelling tot 8 bytes voor bigint. Ik zou willen voorstellen dat tenzij a) u een echt obsceen aantal rijen gaat opslaan, zodat de in beslag genomen ruimte een ernstig probleem is, en b) u de gegevens in kwestie heel weinig hoeft op te vragen, u ga met bigint.