2012-12-21 16 views
9

Mam pytanie z im naprawdę niepewne. Najpierw nie krępuj się, jeśli chcesz, ale naprawdę chciałbym usłyszeć bardziej doświadczoną opinię deweloperów.mysql unlimited klucze podstawowe auto increment

Buduję witrynę, na której chciałbym zbudować podobną funkcjonalność, jak kręgi google.

Moja logika byłaby taka. Po zarejestrowaniu się każdy użytkownik będzie mieć założone kółka.

przykład jeśli użytkownik będzie rejestrować się

formularz złożony i następujące querys będą insierted do bazy

**id | circle_name  | user_id** 
------------------------------------ 
1  | circle one  | 1 
------------------------------ 
2  | circle two  | 1 
------------------------------ 
3  | circle three  | 1 

Każde koło będzie miało primary key

Ale to, co im pewności z, więc po pewnym czasie trochę się boję, że stół się zerwie, co znaczy, że jeśli osiągnie pewną liczbę identyfikatorów, przestanie generować więcej.

Po określeniu int w bazie danych domyślną wartością jest 11, tak, wiem, że mogę dodać lub ustawić wartość, która jest mi potrzebna, ale mimo to podanie wyższych wartości jest dobrym pomysłem?

lub czy istnieje możliwość automatycznego zwiększenia przyrostu klucza głównego?

dziękuję za opinie i pomoc out

+0

Co warto wiedzieć, długość pola int nie jest faktyczną długością. Zasadniczo jest to użyteczne tylko w przypadku kolumn zerowych (a funkcja zerowania padów nie jest tak czy inaczej w bazie danych). Możesz to łatwo przetestować: spróbuj wstawić 5 znaków int do 'int (3)'. Z przyjemnością to zaakceptuje. Podobnie "int"> 10 nie istnieje (ponieważ 2^31-1 lub 2^32-1 ma 10 cyfr). – Corbin

+0

"Jeśli wstawisz 1M rekordów na sekundę 24x7, osiągnięcie tego limitu zajmie 584542 lata." @ 9000 .... http://stackoverflow.com/questions/5762327/mysql-what-if-i-need-a-very-cig-autoincrement-id – bipen

Odpowiedz

13

czy istnieje jakakolwiek możliwość, aby klucz podstawowy auto przyrost być nieograniczona?

Można użyć numeru BIGINT.

Ściśle mówiąc, nie jest nieograniczona, ale zasięg jest tak ogromny, że nie można wykorzystać wszystkich wartości, nawet jeśli bardzo się starał.

+3

Można również uczynić go niepodpisanym, co byłoby absurdalnie duże – Dale

+0

dziękuję bardzo za pomoc – Side

+1

Oprócz tego, kiedy zaczynasz się do punktu, w którym masz tak wiele wpisów, że BIGINT nie jest już wystarczająco dobry, możesz wynająć najmądrzejszy umysł na ziemi, aby rozwiązać Twoje problemy z bazą danych. –

3

Po prostu pobieraj trochę matematyki, a sam uzyskasz odpowiedź. Jeżeli długość może przechowywać miliardy wartości i nie należy się spodziewać, aby mieć 1 mln nowych rejestracji w każdym tygodniu, a następnie dotarcie do punktu, w którym łamie byłoby „praktycznie” trudne, nawet jeśli „teoretycznie” możliwe

Powiązane problemy