Moduł 04

Transkrypt

Moduł 04
Administracja
bazami danych
dr inż. Grzegorz Michalski
Na podstawie wykładów dra inż. Juliusza Mikody
Narzędzia – myisamchk
myisamchk – narzędzie służy do pobierania informacji o tabeli,
kontroli, naprawy lub optymalizacji. myisamchk pracuje z bazami
typu MyISAM (.MYD i .MYI).
Wywołanie: myisamchk [ options ] tbl_name
Opcje:
--analyze – analiza rozkładu kluczy
--check – przeglądanie tabeli w poszukiwaniu błędów
--correct-checksum – naprawa sum kontrolnych tabeli
Narzędzia – myisamchk
Opcje:
--description – wypisuje informacje o tabeli
--extend-check – odzyskanie możliwych rekordów tabeli
--extended-check – dokładna kontrola tabeli
--information – statystyki tabeli
--set-character-set=name – zmiana kodowania tekstu
--sort-index – przyspieszenie działania indeksów
Narzędzia – mysqlcheck
mysqlcheck - narzędzie do sprawdzania, naprawy, optymalizacji
oraz analizy tabel.
--auto-repair – automatyczna naprawa tabeli
--compress – kompresja danych wymienianych z serwerem
--optimize – optymalizacja tabel
--user=user_name, -u – nazwa użytkownika
--password[=password], -p – hasło użytkownika
Narzędzia administratora
• myisam_ftdump
• myisamlog
– informacje o indeksach tabeli MyISAM
– wyświetla zawartość logów MyISAM
• myisampack
– tworzenie skompresowanej tabeli MyISAM –
tylko do odczytu (kompresja 40% - 70%)
•
mysqlhotcopy – program służy do wykonania kopi bazy danych
– kopia danych binarnych
Narzędzia administratora
• innochecksum
- program wyświetla sumę kontrolną dla
plików bazy danych InnoDB
• mysql_convert_table_format
– zmiana silnika zapisu
danych
• mysql_find_rows
– program przeszukujący skrypty SQL
pasujące do wyrażenia
Partycjonowanie
• Czym
jest partycja w przypadku MySQL?
• Podział
jest dokonywane przez funkcję partycjonującą
• dopasowanie
do przedziału
• dopasowanie
do zestawu wartości
• funkcja
haszująca
• Partycjonowanie
tabele nie są zgodne pomiędzy wersjami
5.1.6 (i późniejszymi), a wersjami poprzednimi
Partycjonowanie
• Typy
partycjonowania w MySQL
• RANGE
– zasięg – przydziela rekordy do partycji na
podstawie wartości kolumn zawierające się w
określonych przedziałach
• LIST
– lista – wartości kolumn pasujące do jednej z kilku
wartości listy
• HASH
• KEY
– haszowanie
– klucz
Partycjonowanie
• Główne
zalety partycjonowania
• zwiększenie
• obsługa
wydajności bazy danych
dużych tabel jest szybsze
• usuwanie
partycji (dla usunięcia określonych danych) jest
łatwe i nie wpływa na pozostałe dane tabeli
• ograniczenie
rozmiaru pliku w systemie plików
Partycjonowanie
Składnia polecenia:
CREATE TABLE <tbl_name> (<tbl_column_opt)
ENGINE = <engine_name>
PARTITION BY <type>
(<partition_expression>);
Partycjonowanie - RANGE
CREATE TABLE tr (id INT, name VARCHAR(50),
purchased DATE)
PARTITION BY RANGE( YEAR(purchased) ) (
PARTITION p0 VALUES LESS THAN (1990),
PARTITION p1 VALUES LESS THAN (1995),
PARTITION p2 VALUES LESS THAN (2000),
PARTITION p3 VALUES LESS THAN (2005));
Partycjonowanie - LIST
CREATE TABLE tt (
id INT,
data INT)
PARTITION BY LIST(data) (
PARTITION p0 VALUES IN (5, 10, 15),
PARTITION p1 VALUES IN (6, 12, 18)
);
Partycjonowanie - HASH
CREATE TABLE clients ( id INT,
fname VARCHAR(30),
lname VARCHAR(30),
signed DATE )
PARTITION BY HASH( signed )
PARTITIONS 12;
Partycjonowanie - KEY
CREATE TABLE k1 (
id INT NOT NULL PRIMARY KEY,
name VARCHAR(20)
)
PARTITION BY KEY()
PARTITIONS 2;
Partycjonowanie - zmiany
create table tab (id int(11), dt date);
select count(*) from tab
where dt > date '1995-01-01'
and dt < date '1995-12-31';
41.11 sec
alter table tab partition by range (year(dt))
(
PARTITION p1 VALUES LESS THAN (2000),
PARTITION p2 VALUES LESS THAN (2010));
20.42 sec
Partycjonowanie
Główne ograniczenia
wszystkie partycje muszę używać tego
samego mechanizmu składowania
maksymalna liczba partycji dla tabeli to 1024
tabele typu memory nie mogą być
partycjonowane
nie jest możliwe partycjonowanie tabeli z
logami

Podobne dokumenty