Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Limit ilości rekordów.
Forum PHP.pl > Forum > Bazy danych > MySQL
MalyKazio
Witam,

Skrypt generuje mi automatycznie na podstawie danych z bazy rekordy do innej tabeli. Jeden rekord w jednej tabeli może pociągnąć za sobą nawet 1000 wpisów w drugiej tabeli. W chwili obecnej jest tam ponad 1.700.000 rekordów. W związku z tym mam pytanie. Czy MySQL posiada jakieś ograniczenie ilości rekordów? Są to nieduże rekordy, zawierają wyłącznie liczby.
nospor
limit
http://dev.mysql.com/doc/refman/5.0/en/select.html
smarcz
Jak dobrze zrozumiałem - chcesz ograniczyć ilość wykonywanych rekordów. W zapytaniu które wykonujesz powinieneś wstawić klazurę LIMIT.

W moim przypadku aby odczytać 10 rekordów od 1 było by takie:
SELECT * FROM `tabela` WHERE 1 LIMIT 1, 10

przy czym pierwsza liczba oznacza od którego rekordu zaczynam, druga o ile rekordów się przesuwam.

Pozdrawiam!!!
MalyKazio
Nie, nie, nie... Źle się wyraziłem. Nie chodzi mi o ograniczanie ilości pobieranych rekordów przy wykonywaniu zapytania. Chodziło mi, czy baza ma jakieś ograniczenie w ilości rekordów, które można zapisać w jednej tabeli (ilości przechowywanych rekordów w samej bazie)
piotrek24
No ilość jaką można dodać zależy chyba od klucza podstawowego i od tego jaki to typ danych... Jeśli jako klucz ustawisz typ TINYINT no to nie dodasz więcej jak 127 czy 255 rekordów. Nie próbowałem ale tak myślę.
nospor
http://dev.mysql.com/doc/refman/5.0/en/myi...age-engine.html
Cytat
There is a limit of 232 (~4.295E+09) rows in a MyISAM table. If you build MySQL with the --with-big-tables option, the row limitation is increased to (232)2 (1.844E+19) rows. See Section 2.4.15.2, “Typical configure Options”. Binary distributions for Unix and Linux are built with this option.

Obczaj sobie reszte silników.

oczywiscie jesli masz pole autoincrement, to zalezy ono od typu inta jaki mu nadasz, wiec i tu masz dodatkowe ograniczenie

ps: te 232 to 2 do 32, a te (232)2 to 2 do 32 do 2. Zjadlo tu potegi przy formatowaniu winksmiley.jpg
MalyKazio
Pola są typu int, nie ma przy ty pól auto increment. Struktura wygląda mniej więcej tak: IDPODSTAWOWY (INT - z innej tabeli pobierany), IDPOWIAZANY (INT - z tej samej tabeli co idpodstawowy)
Dziękuję za informacje. 4 miliardy rekordów limitu. Oj chyba muszę myśleć o przebudowie tabeli w inny sposób, bo mogę limit osiągnąć szybciej niż mi się wydaje.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.