Potrzebuję przechowywać tweety twitter numerów identyfikacyjnych, a te liczby są duże, jak 16 cyfr dużych. Zastanawiałem się, czy nie używać biginta w mysql do ich przechowywania? czy jest inna alternatywa. Ile cyfr może obsłużyć bigint? Próbowałem spojrzeć na specyfikacje, ale nie było to jasne. Jakie są ograniczenia przechowywania tak dużych liczb w tabeli mysql? dzięki!bigint w mysql
Odpowiedz
Bigint jest 64-bitowy, który przechodzi -9223372036854775808 do 9223372036854775807 podpisany, i 0 do 18446744073709551615 niepodpisane, zgodnie z the mysql docs.
od instrukcji MySQL
BIGINT [(M)] [znaku] [ZEROFILL]
dużej liczby całkowitej. Podpisany zakres jest -9223372036854775808 do 9223372036854775807. niepodpisany zakres wynosi od 0 do 18446744073709551615
http://dev.mysql.com/doc/refman/5.0/en/numeric-type-overview.html
Jest to definicja tego, czym jest typ BIGINT, ale nie odpowiada na pytanie, co powinien używać PO i czy powinien używać BIGINT, czy też nie. – thomasrutter
Nawet jeśli obecnie identyfikatory zmieścić się na BIGINT (64bit podpisany), gdy pokolenie ID jest poza kontrolą , bezpieczniej jest przechowywać jako ciąg tekstowy.
Nie tylko może wzrosnąć jeszcze bardziej (cóż, jest mało prawdopodobne, aby kiedykolwiek przelał się BIGINT); ale możesz później dodać prefiks i przechowywać identyfikatory z innych systemów w tej samej tabeli. A może niektórzy przyszli API mogą używać nieliczbowych identyfikatorów
+1 za sugestię. –
Jeśli nie chcesz wykonywać żadnej z wielu rzeczy w mysql, które są znacznie szybsze przy użyciu liczb całkowitych niż ciągi znaków ... – DougW
... które faktycznie byłyby przydatne operacje na identyfikatorach ... takich jak? –
BigInt jest drogą do zrobienia. Dla tego nie ma bardziej wydajnego typu danych. BigInt może przechowywać nubery do 2^64, czyli około 25 cyfr.
Mówisz używasz PHP. Musisz pamiętać, że wbudowany numeryczny typ PHP zależy od komputera, a na x86 używa tylko 32-bitowych wartości całkowitych. Wartości, które nie są liczbami całkowitymi lub są poza zakresem 32-bitowym, będą przechowywane za pomocą typów zmiennoprzecinkowych, które nie są zaprojektowane tak, aby były dokładne z ostatnią cyfrą dla bardzo dużych liczb.
Chociaż istnieją biblioteki dla PHP, które pozwalają na przenośne duże liczby całkowite, bez względu na twoją architekturę, prawdopodobnie byłoby łatwiej utrzymać pole id jako ciąg przez cały czas. Ponieważ nie będziesz wykonywać żadnej arytmetyki, po prostu traktując to jako identyfikator, nie powinno to być dużym problemem.
- 1. MySQL: bigint Vs int
- 2. hibernacji mapa java Długi błędu MySQL BIGINT
- 3. Konwertuj ciąg znaków binarnych na bigint w MySQL?
- 4. mysql zmień kolumnę int na bigint z kluczami obcymi
- 5. Konwersja BIGINT UNSIGNED na INT
- 6. Zmiana INT do BigInt
- 7. BigInt (bigbit) Biblioteka
- 8. indeksowania Wydajność BigInt vs VarChar
- 9. Jak przekonwertować int na bigint w golangu?
- 10. MySQL zwraca kolumna typ dziesiętny lub bigint gdy uruchamiam „Wybierz 0 AS COL ..”
- 11. Clojure BigInt nie jest Javą BigInteger
- 12. Konwersja z UniqueIdentifier na BigInt iz powrotem?
- 13. SQL, Jak przekonwertować VARCHAR na bigint?
- 14. SQL - bezpiecznie downcast BIGINT do INT
- 15. Co powinienem użyć w klasie BigInt w .NET?
- 16. Konwersja z Bigint do wartości datetime
- 17. MySQL typ danych w bazie
- 18. Konwersja typów danych w IBM DB2: BIGINT na VARCHAR
- 19. Jaki jest limit typu pola BIGINT w SQL?
- 20. Dobra i podstawowa implementacja klasy BigInt w C++
- 21. Jakiej struktury danych powinienem używać w klasie BigInt
- 22. Konwersja nvarchar do bigint w serwerze SQL 2008
- 23. Przypadki użycia dla BigInt kontra BigInteger w Clojure
- 24. Zamów przez FIELD w MYSQL
- 25. Przechowywanie bardzo dużych liczb całkowitych w MySQL
- 26. SQL bigint hash, aby dopasować C# int64 hash
- 27. F # rura do przodu przekonwertować z int do bigint
- 28. Rails Migration: Bigint na PostgreSQL prawdopodobnie nie działa?
- 29. Jak korzystać AES_ENCRYPT i AES_DECRYPT w mysql
- 30. Transfer JSON z bigint: 12000000000002539 jest konwertowany na 12000000000002540?
Może brzmieć idiotycznie, ale nie masz wpływu na to, czy Twitter używa numerów dla id, czy jutro będzie używać ciągów. Najpierw pójdę na bezpieczną pozycję, jeśli nie będę mieć kontroli nad typem danych, i idę na sznurku ... Ale dociera do ciebie daleko. – Wrikken