Meningkatkan Performa Kueri di PostgreSQL
Amy McCarty
Instructor
| Urutan | Klausa | Tujuan |
|---|---|---|
| 1 | FROM | menunjukkan tabel |
| 2 | WHERE | memfilter atau membatasi rekaman |
EXPLAIN
SELECT * FROM phones
Seq Scan on phones (cost = 0.00..22.7
,rows=1270
,width=36)
Perencana kueri

EXPLAIN
SELECT * FROM phones
WHERE phone_code = 235
Seq Scan on phones (cost = 0.00..25.8
,rows=6,width=636)
Filter: (phone_code=235)
Perencana kueri

| negara | kode_telepon | reliabilitas |
|---|---|---|
| Chad | 235 | sedang |
| China | 86 | tinggi |
| Kosta Rika | 506 | tinggi |
| India | 91 | sedang |
| Indonesia | 62 | sedang |
| Irak | 964 | rendah |
EXPLAIN
SELECT * FROM phones
WHERE country LIKE 'Ch%'
OR country LIKE 'In%'
Seq Scan on phones (cost = 0.00..29.05
,rows=13,width=36)
Filter: ((country~~'Ch%'::text)
OR(country~~'In%'::text))
| negara | kode_telepon | reliabilitas |
|---|---|---|
| Chad | 235 | sedang |
| China | 86 | tinggi |
| Kosta Rika | 506 | tinggi |
| India | 91 | sedang |
| Indonesia | 62 | sedang |
| Irak | 964 | rendah |
EXPLAIN
SELECT * FROM phones
WHERE country
LIKE ANY(ARRAY['Ch%','In%'])
Seq Scan on phones (cost = 0.00..25.88
,rows=13,width=36)
Filter: ((country~~ANY('{Ch%,In%}'
::text[]))
| negara | kode_telepon | reliabilitas |
|---|---|---|
| Chad | 235 | sedang |
| China | 86 | tinggi |
| Kosta Rika | 506 | tinggi |
| India | 91 | sedang |
| Indonesia | 62 | sedang |
| Irak | 964 | rendah |
EXPLAIN
SELECT * FROM phones
WHERE country = 'Chad'
OR country = 'China'
Seq Scan on phones (cost = 0.00..29.05
,rows=13,width=36)
Filter: ((country='Chad'::text)
OR(country='China'::text))
| negara | kode_telepon | reliabilitas |
|---|---|---|
| Chad | 235 | sedang |
| China | 86 | tinggi |
| Kosta Rika | 506 | tinggi |
| India | 91 | sedang |
| Indonesia | 62 | sedang |
| Irak | 964 | rendah |
EXPLAIN
SELECT * FROM phones
WHERE country IN ('Chad','China')
Seq Scan on phones (cost = 0.00..25.88
,rows=13,width=36)
Filter: ((country=ANY('{Chad,China}'
::text[]))
| negara | kode_telepon | reliabilitas |
|---|---|---|
| Chad | 235 | sedang |
| China | 86 | tinggi |
| Kosta Rika | 506 | tinggi |
| India | 91 | sedang |
| Indonesia | 62 | sedang |
| Irak | 964 | rendah |
EXPLAIN
SELECT *
FROM phones
WHERE phone_code IN (235,86)
Seq Scan on phones (cost = 0.00..25.88
,rows=13,width=36)
Filter: (phone_code=ANY('{235,86}'
::integer[]))
Keunggulan numerik
Keunggulan numerik
| Baik | Lebih baik |
|---|---|
| Teks | Numerik |
| OR | IN, ARRAY |
Meningkatkan Performa Kueri di PostgreSQL