Mamy tabelę mysql, która wkrótce kończy się ids (główny identyfikator to 32-bitowa liczba całkowita, a max id to już około 1,5 miliarda). Jaki jest najlepszy sposób rozwiązania tego problemu? Zmień typ identyfikatora na 64-bitowy jest opcją, ale mogłoby to obniżyć bazę danych zbyt długo, ponieważ tabela ma miliard wierszy.Tabela Mysql wyczerpana ids
Odpowiedz
Wszystkie wersje MYSQL (zarówno 32-bitowe, jak i 64-bitowe) używają 8-bajtowego pola dla kolumny zdefiniowanej jako BIGINT.
Więc zmiany kolumna być BigInt
Jak stwierdzono w moim pytaniu, zmiana typu kolumny takiej dużej tabeli wymagałaby bardzo długiego przestoju dla naszego serwera db. – Pinch
Nie wygląda na to, że możesz nic nie robić. – RiggsFolly
następnie spróbuj zmienić typ pola. Spróbuj jakiegoś typu z dużym zakresem, na przykład "BIGINT
".
Jaki jest rzeczywisty typ danych w tej kolumnie użytej w twoim schemacie – RiggsFolly
Porozmawiajmy o tym, co robisz, aby zabrakło identyfikatorów. Czy masz 1,5 miliarda wierszy? A może większość ids została usunięta? Spalony? Inaczej zagubiony? To może być możliwe spowolnienie konsumpcji, tak aby nie zabrakło. –