Zmiany pomiędzy wersją 2 and wersją 3 dla DeployerGuide/OptimisingQueries
- Data i czas:
- 11/30/17 12:15:52 (7 years temu)
Legend:
- Bez zmian
- Dodane
- Usunięte
- Zmienione
-
DeployerGuide/OptimisingQueries
v2 v3 7 7 8 8 9 == Testowanie zapytań == 10 Dla 20 jednoczesnych klientów, używając 4 wątków, przez maksymalnie 300 sec wykonuj zapytanie zawarte w pliku: 11 12 {{{ 13 edokumenty$ pgbench -c20 -T300 -j4 -f tests/query.sql edokumenty -p5432 14 }}} 15 16 17 9 18 == Przykłady == 10 1. Źle 19 20 === Przykład nr 1 === 21 {{{ 22 -- Przed 11 23 SELECT t1.id, a, b, c, 12 24 (SELECT d FROM table2 t2 WHERE t2.id = t1.id) AS d 13 25 FROM table t1; 14 26 15 Dobrze 27 -- Po 16 28 SELECT t1.id, a, b, c, t2.d 17 29 FROM table t1 18 30 INNER JOIN t2 ON t1.id = t2.id 31 }}} 32 19 33 20 34 21 35 22 36 == Instrukcje dla optymalizatora == 23 Instrukcja dla optymalizatora za pomocą GUC (Grand Unified Configuration) 24 25 Nie przestawiaj ani nie sprawdzaj kolejności tabel: 37 Instrukcja dla optymalizatora za pomocą GUC (Grand Unified Configuration), które może zadeklarować np. przed wykonaniem zapytania. 26 38 27 39 {{{ 40 -- Zwiększ zasoby procesora dla zapytania 28 41 SET cpu_table_cost = 0.15; 42 -- Nie przestawiaj ani nie sprawdzaj kolejności tabel: 29 43 SET join_collapse_limit = 1; 30 SET join_collapse_limit =1; 44 -- 31 45 SET enable_nestloop = FALSE; 46 -- 32 47 SET enable mergejoin = FALSE; 33 34 35 48 }}} 36 49