![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 651 Pomógł: 28 Dołączył: 4.12.2004 Ostrzeżenie: (0%) ![]() ![]() |
Ostatnio znajomy poprosił mnie o napisanie skryptu służącego do optymalizacji baz danych MySQL na serwerze.
Wykorzystuje on w swoim działaniu poniższą klasę. Może komuś jeszcze się przyda ![]()
sposób użycia:
Ten post edytował Speedy 4.05.2006, 10:27:56 -------------------- Sygnatura niezgodna z regulaminem.
|
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 90 Pomógł: 0 Dołączył: 29.12.2005 Skąd: Z krzaków Ostrzeżenie: (0%) ![]() ![]() |
jezeli optymalizator to przydaloby sie cachowanie zapytan.
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 651 Pomógł: 28 Dołączył: 4.12.2004 Ostrzeżenie: (0%) ![]() ![]() |
Chyba nie przeczytałeś dokładnie kodu
![]() Cachowanie, to inna bajka ![]() Nazwałem to optymalizatorem, gdyż opiera się na SQL-owym poleceniu OPTIMIZE TABLE, co powoduje otymalizację tabeli w bazie danych, czyli zwolnienie niewykorzystywanego miejsca. Przy pobieraniu informacji o tabelach jest takie pole `Data_free`, które informuje o nadmiarze danych. W phpmyadminie jest nawet taka kolumna o nazwie `Nadmiar` i przy przeglądaniu bazy i można sobie zoptymalizować pojedynczą tabelę. Jednak uciążliwe będzie optymalizowanie wielu tabel osobno w wielu bazach na serwerze w sposób manualny - ten skrypt robi tę robotę automatycznie ![]() -------------------- Sygnatura niezgodna z regulaminem.
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 923 Pomógł: 9 Dołączył: 25.10.2004 Skąd: Rzeszów - studia / Warszawa - praca Ostrzeżenie: (0%) ![]() ![]() |
Cytat Nazwałem to optymalizatorem, gdyż opiera się na SQL-owym poleceniu OPTIMIZE TABLE, co powoduje otymalizację tabeli w bazie danych, czyli zwolnienie niewykorzystywanego miejsca. Rowniez mnie to zmylilo, bylem pewnien ze jakos chcesz zoptymalizowac schemat i wydajnosc bazy. Zmien temat bardziej na optymalizacje tabeli. Takie cos mozna podpiac pod crona i wykorzystac. -------------------- |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 651 Pomógł: 28 Dołączył: 4.12.2004 Ostrzeżenie: (0%) ![]() ![]() |
Hej,
Postanowiłem upublicznić mały dodatek do mojej klasy ![]() Umożliwia on masową optymalizację wielu baz. klasa optimize_databases (do jej działania jest potrzebna klasa optimize_database, której źródło jest podane w pierwszym poście tego wątku oraz plik konfiguracyjny dbs.php - jego przykładowe źródło jest niżej).
Przykładowy plik dbs.php
btw. Jeśli ktoś jest administratorem serwera i chce sobie optymalizować wszystkie bazy, które się na nim znajdują, to może zmodyfikować klasę optimize_databases i zastosować funkcję mysql_list_dbs" title="Zobacz w manualu php" target="_manual. Przykład użycia:
Pozdrawiam. Ten post edytował Speedy 6.04.2006, 17:37:17 -------------------- Sygnatura niezgodna z regulaminem.
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 20:20 |