ChangeBlog  •  Archiwum  •  Kategorie  •  Artykuły  •  Galeria  •  Czytelnicy  •  Rupieciarnia
RSS wpisów  |  RSS komentarzy
MajEsKuEl

Jest sobie serwer MySQL, jest sobie baza jego. Baza jest fizycznie złożona z pliku bazy i pliku indeksów.

Jeden z indeksów jest zbędny, więc go usuwam.

Usuwanie trwa podejrzanie długo i podejrzanie mocno mieli dyskiem.

Zaglądam więc do katalogu z bazami i co widzę? Ano widzę, że MySQL przy usuwaniu jednego z indeksów robi kopię pliku z indeksami oraz KOMPLETNĄ KOPIĘ BAZY.

Uch. Nie rozumiem tego.

A myślałem, że dużym przegięciem jest już to, że nazwy baz są case-insensitive w MySQL pod Windows i case-sensitive w MySQL pod unix-like. Każdego dnia się człowiek czegoś uczy...

Dopiski:

Od: bies
Data: 20070615, 22:04
Nie chcę mi się szukać w dokumentacji lub źródłach MySQL więc potraktuj to jako dane ze szklanej kuli: A jeśli MySQL optymalizuje strukturę pliku bazy pod kątem indeksów? Wtedy, być może, przy usuwaniu indeksu należy przeorać też plik z danymi. A pewnie łatwiej jest czytać ze źródła i pisać sekwencyjnie do celu niż modyfikować źródło ,,in place''.

Od: pascon
Data: 20070622, 02:40
Też mnie niedawno zaskoczyła ta informacja o wielkości liter w nazwach bazach danych. Podobnie sprawa ma się z tabelami. Uwielbiam taką przenośność..

Pozostaw dopisek: