|
⇤ ← Wersja 1 z 2016-02-27 00:50:28
Rozmiar: 1567
Komentarz: *** KREACJA ***
|
Rozmiar: 1655
Komentarz: + show indexes
|
| Usunięcia zostały oznaczone w ten sposób. | Dodatki zostały oznaczone w ten sposób. |
| Linia 48: | Linia 48: |
| == Pokazanie indeksów związanych z tabelą == {{{ SHOW INDEXES FROM tbl_name; }}} |
Spis Treści
Sztuczki i kruczki związane z mySQL
Sprawdzenie listy procesów
SHOW FULL PROCESSLIST
Ustawianie zmiennych
SET [SESSION|GLOBAL] variable=wartość
Naprawianie tabel
Zgodnie z dokumentacją mySQL należy wykonać:
SET SESSION myisam_sort_buffer_size = 256*1024*1024; SET SESSION read_buffer_size = 64*1024*1024; SET GLOBAL myisam_max_sort_file_size = 100*1024*1024*1024; SET GLOBAL repair_cache.key_buffer_size = 128*1024*1024; CACHE INDEX tbl_name IN repair_cache; LOAD INDEX INTO CACHE tbl_name; REPAIR TABLE tbl_name ; SET GLOBAL repair_cache.key_buffer_size = 0;
Tabele MyISAM oraz indeksy
Dotyczy szczególnie bardzo dużych tabel. Dla operacji INSERT oraz UPDATE warto zdjąć indeksy z takich tabel:
ALTER TABLE tbl_name DISABLE KEYS;
Niemniej trzeba pamiętać, że wykonywanie SELECT-ów z taką ułomną tabelą powoduje bardzo długie zapytania. Można to przywrócić (ale to trwa):
ALTER TABLE tbl_name ENABLE KEYS;
EXPLAIN czyli sprawdzenie co zrobi zapytanie
Aby sprawdzić, jak optymalne jest zapytanie można użyć polecenia EXPLAIN:
EXPLAIN SELECT * FROM `ibf_core_attachments_map` AS `core_attachments_map` WHERE location_key='forums_Forums' AND id1=56489 AND id2=1260029 AND id3 IS NULL;
Pokazanie indeksów związanych z tabelą
SHOW INDEXES FROM tbl_name;
(c) 2004 - 2026 BSD Serwis Krzysztof Stryjek. W przypadku błędów, poprawek proszę kontaktować się z administratorem wiki.
