Różnice pomiędzy wersjami 1 i 2
⇤ ← Wersja 1 z 2016-02-27 00:50:28 →
Rozmiar: 1567
Edytor: wtps0n
Komentarz: *** KREACJA ***
← Wersja 2 z 2016-02-27 01:02:48 → ⇥
Rozmiar: 1655
Edytor: wtps0n
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;
}}}



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;


{i}  (c) 2004 - 2026 BSD Serwis Krzysztof Stryjek. W przypadku błędów, poprawek proszę kontaktować się z administratorem wiki.

MysqlTipsTricks (ostatnio edytowane 2018-12-18 22:17:55 przez wtps0n)