Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Przyczyna psucia się tabeli
Forum PHP.pl > Forum > Bazy danych > MySQL
Deusx
Witam, od jakiegoś czasu borykam się z problemem psucia się tabeli mysql.

Co mam na myśli pisząc "psująca się" ?

Wchodząc w phpmyadmin tabela ma status "w użyciu" i nie działa (zapis, odczyt zablokowany), zazwyczaj działa "repair table" jednak czasami po jego użyciu jest komunikat
can't repait, table corrupt i muszę dopisać use_frm co zazwyczaj działało i usuwało 2 lub 3 rekordy, nie koniecznie jakieś wadliwe, te "zdrowe" również.

Czasem jednak i dopisana komenda use_frm daje komunikat table corrupt i jedynym wyjściem jest wyczyszczenie tabeli.


Jak sobie z tym poradzić, co jest przyczyną rozwalania się bazy danych ? Baza danych jest duża (około 3 GB), jednak zazwyczaj psuje się tabela "ruchoma" która ciągle zapisuje nowe / usuwa stare rekordy. Psują się też te większe tabele, po 200k czy 2k wpisów. Te małe, które mają po 10, 20,200 są ok.

up

Dolaczam jeszcze blad zapytania podczas odczytu:
Cytat
Incorrect file format 'game_fleets'
maly_swd
1. Jaki typ bazy
2. czy nie konczy Ci sie miejsce na dysku (przy duzym obciazeniu generowane sa pliki TMP i to moze byc problemem)
3. nie zakladasz blokad na tabele a podczas wykonywania skryptu/zapytania jej nie zdejmujesz (np skrypt sie nie wykonal).

Osobiscie obstawiam opcje 2
Deusx
1. MyISAM
2. Nie sądzę, mam wykres zajęcia dysku, który nigdy nie wykroczył ponad 30% użycia docelowej partycji.
3. Są zakładane blokady (lock table) podczas dodawania i kasowania rekordu (i to na tej tabeli, która się najczęściej psuje), jednak wtedy powinien wyskoczyć error o błędzie odczytu, ponieważ tabela jest zablokowana a nie, że tabela jest uszkodzona, kiedyś robiąc skrypt zapomniałem o unlocku i error był zupełnie inny, serwis funkcjonował.

Gdzieś coś przeczytałem error o braku buforu (podczas właśnie awarii bazy), czy to może być powiązane z opcją 2 ?
maly_swd
jeszcze moze byc to zwiazane z delay-key-write, jesli masz to wlaczone to wylacz i zobacz czy dziala.
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.