![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 168 Pomógł: 1 Dołączył: 19.11.2005 Ostrzeżenie: (0%) ![]() ![]() |
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. -------------------- "Jak Cię widzą tak Cię piszą, chyba żeś jest wielką fiszą"
|
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 80 Pomógł: 0 Dołączył: 12.05.2005 Ostrzeżenie: (0%) ![]() ![]() |
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!!! Ten post edytował smarcz 5.08.2008, 13:05:30 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 168 Pomógł: 1 Dołączył: 19.11.2005 Ostrzeżenie: (0%) ![]() ![]() |
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)
-------------------- "Jak Cię widzą tak Cię piszą, chyba żeś jest wielką fiszą"
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 47 Pomógł: 0 Dołączył: 22.07.2006 Ostrzeżenie: (0%) ![]() ![]() |
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ę.
Ten post edytował piotrek24 5.08.2008, 13:34:54 |
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
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 ![]() -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 168 Pomógł: 1 Dołączył: 19.11.2005 Ostrzeżenie: (0%) ![]() ![]() |
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. Ten post edytował MalyKazio 5.08.2008, 13:51:22 -------------------- "Jak Cię widzą tak Cię piszą, chyba żeś jest wielką fiszą"
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 04:29 |