Abbiamo una tabella mysql che sta esaurendo presto gli id (l'id principale è un numero intero a 32 bit e l'id massimo è già circa 1,5 miliardi). Qual è il modo migliore per risolvere questo problema? Modificare il tipo di id a 64 bit è un'opzione, ma ciò causerebbe il down down del database troppo a lungo perché la tabella ha miliardi di righe.La tabella Mysql sta esaurendo i codici
risposta
Tutte le versioni di MYSQL (sia a 32 bit che a 64 bit) utilizzano un campo di 8 byte per una colonna definita come BIGINT.
Quindi modificare la colonna da bigint
Come indicato nella mia domanda, modificare il tipo di colonna di una tabella così grande richiederebbe un tempo di fermo molto lungo per il nostro server db. – Pinch
Beh, non sembra che tu abbia la possibilità di non fare nulla. – RiggsFolly
quindi provare a cambiare il tipo di campo. Prova qualche tipo con una vasta gamma come "BIGINT
".
Qual è il tipo di dati effettivo di quella colonna utilizzata nello schema – RiggsFolly
Parliamo di ciò che state facendo per terminare gli ID. Hai 1,5 miliardi di file? O la maggior parte degli ID è stata cancellata? Bruciato? Altrimenti perso? Potrebbe essere possibile rallentare il consumo in modo da non esaurire. –