Różnice pomiędzy wersjami 4 i 5
⇤ ← Wersja 4 z 2016-03-11 14:42:42 →
Rozmiar: 2416
Edytor: wtps0n
Komentarz: * wykorzystanie highlight sql
← Wersja 5 z 2016-03-11 14:43:17 → ⇥
Rozmiar: 2393
Edytor: wtps0n
Komentarz: - testowy komentarz
Usunięcia zostały oznaczone w ten sposób. Dodatki zostały oznaczone w ten sposób.
Linia 11: Linia 11:
-- SELECT * FROM aqq;



Sztuczki i kruczki związane z mySQL

Sprawdzenie listy procesów

Pokazanie listy procesów w wersji skróconej (początki poleceń SQL):

SHOW FULL PROCESSLIST

Pokazanie listy procesów z pełnymi poleceniami SQL (czasami z bardzo długimi zapytaniami):

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;

Struktura tabeli

Domyślnie pokazanie samych kolumn:

-- describe jest aliase dla show columns
DESCRIBE tbl_name

Albo w wersji jak tabela została utworzona (wraz z indeksami, kodowaniem znaków, etc.):

SHOW CREATE TABLE 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)