Pelacak kueri Explore dan panel Performance Explore memberikan data performa langkah demi langkah untuk kueri Explore. Data ini dapat membantu mengidentifikasi titik entri utama untuk memecahkan masalah dan menyelesaikan masalah performa dengan kueri serta memberikan rekomendasi untuk peningkatan.
Pelacak kueri Explore
Pelacak kueri Eksplorasi menampilkan progres kueri Eksplorasi melalui tiga fase kueri saat kueri berjalan.
![]()
Jika kueri memerlukan waktu lama untuk dieksekusi, pelacak kueri dapat menunjukkan fase kueri mana yang menyebabkan masalah performa. Hal ini berguna untuk mengidentifikasi tempat terjadinya masalah performa, dan tempat upaya pengoptimalan dapat menjadi paling efektif.
Pelacak kueri ditampilkan saat Eksplorasi berjalan, selama panel Visualisasi Eksplorasi atau panel Data Eksplorasi terbuka.
Mempelajari panel Performa
Untuk melihat panel Performance Explore, klik link See performance details, yang tersedia di kueri Explore yang telah dijalankan.

Panel Performance menampilkan waktu yang dihabiskan kueri di setiap tiga fase kueri dan menyertakan link ke dokumentasi performa dan dasbor Aktivitas Sistem Query History, yang menampilkan data performa saat ini dan histori performa untuk kueri dan Explore yang digunakan untuk membuat kueri.

Fase kueri
Saat Explore Looker menjalankan kueri database, kueri tersebut dijalankan dalam tiga fase, sebagai berikut:
Fase Query Initialization
Selama fase Query Initialization, Looker menjalankan semua tugas yang diperlukan sebelum kueri dikirim ke database Anda. Fase Query Initialization mencakup tugas-tugas berikut:
- Mengompilasi model LookML
- Memeriksa apakah ada tabel turunan persisten (PDT) yang perlu dibuat
- Membuat SQL kueri
- Mendapatkan koneksi database
Halaman dokumentasi Memahami metrik performa kueri menjelaskan cara menggunakan Eksplorasi Metrik Performa Kueri di Aktivitas Sistem untuk melihat perincian mendetail kueri. Fase Query initialization dari pelacak kueri mencakup peristiwa yang dijelaskan dalam Asynchronous worker phase, Initialization phase, dan Connection handling phase dari Eksplorasi Metrik Performa Kueri.
Jika Anda mengalami masalah performa atau kueri yang memerlukan waktu lama selama fase Inisialisasi Kueri, lakukan langkah-langkah berikut:
- Atur jadwal pengiriman: Jika banyak Look atau dasbor terjadwal dipicu secara bersamaan (terutama di awal jam), lonjakan permintaan kueri yang tiba-tiba dan bersamaan dapat membebani resource instance dan memenuhi kumpulan koneksi. Bottleneck konkurensi ini menyebabkan kueri menunggu atau berputar tanpa batas selama inisialisasi. Atur jadwal konten Anda dengan interval 15 atau 30 menit (misalnya, pada pukul
:15,:30, atau:45), bukan menjadwalkan semuanya pada pukul:00. Untuk mengetahui detail selengkapnya, lihat Mengoptimalkan performa server Looker. - Gunakan grup data untuk jadwal: Jika memungkinkan, picu pengiriman terjadwal menggunakan grup data yang selaras dengan siklus ETL Anda, bukan menggunakan pemicu berbasis waktu. Penggunaan grup data akan mendistribusikan eksekusi kueri dan mencegah kueri redundan dijalankan terhadap data yang belum diperbarui.
- Kelompokkan dan batasi panggilan API: Jika skrip otomatis atau alat eksternal memicu kueri atau laporan melalui Looker API, kelompokkan permintaan atau buat penundaan untuk menghindari antrean inisialisasi kueri yang berlebihan.
- Hapus proses yang macet: Jika lonjakan konkurensi yang tiba-tiba menyebabkan kueri macet dan instance Anda tidak responsif, mulai ulang instance untuk menghapus tugas yang sedang berlangsung dan mereset antrean internal.
Fase Menjalankan Kueri
Fase Running Query adalah saat Looker menghubungi dan mengkueri database Anda serta menampilkan hasil kueri. Masalah performa selama fase ini dapat mengindikasikan masalah pada database eksternal, seperti PDT yang memerlukan waktu lama untuk dibuat ulang dan mungkin perlu dioptimalkan, atau tabel database eksternal yang mungkin perlu dioptimalkan. Fase Menjalankan Kueri mencakup tugas-tugas berikut:
- Membangun PDT apa pun dalam database yang diperlukan untuk kueri Explore
- Menjalankan kueri yang diminta di database
Halaman dokumentasi Memahami metrik performa kueri menjelaskan cara menggunakan Eksplorasi Metrik Performa Kueri di Aktivitas Sistem untuk melihat perincian mendetail kueri. Fase Running query dari pelacak kueri mencakup peristiwa yang dijelaskan dalam Main queries phase dari Eksplorasi Query Performance Metrics.
Langkah-langkah yang dapat dilakukan jika Anda mengalami masalah performa selama fase ini meliputi:
- Buat Eksplorasi menggunakan gabungan
many_to_onejika memungkinkan. Menggabungkan tabel virtual dari tingkat paling terperinci ke tingkat detail tertinggi (many_to_one) biasanya memberikan performa kueri terbaik. - Maksimalkan caching untuk disinkronkan dengan kebijakan ETL Anda jika memungkinkan guna mengurangi traffic kueri database. Secara default, Looker menyimpan kueri dalam cache selama satu jam. Anda dapat mengontrol kebijakan penyimpanan cache dan menyinkronkan refresh data Looker dengan proses ETL Anda dengan menerapkan grup data
dalam Eksplorasi menggunakan parameter
persist_with. Memaksimalkan caching memungkinkan Looker berintegrasi lebih erat dengan pipeline data backend, sehingga penggunaan cache dapat dimaksimalkan tanpa risiko menganalisis data yang tidak berlaku. Kebijakan caching bernama dapat diterapkan ke seluruh model atau ke Eksplorasi tertentu dan tabel turunan persisten (PDT). - Gunakan fitur aggregate awareness Looker untuk membuat roll-up atau tabel ringkasan yang dapat digunakan Looker untuk kueri jika memungkinkan, terutama untuk kueri umum database besar. Anda juga dapat menggunakan awareness gabungan untuk meningkatkan performa seluruh dasbor secara drastis. Lihat Tutorial aggregate awareness untuk mengetahui informasi tambahan.
- Gunakan PDT untuk kueri yang lebih cepat. Konversikan Eksplorasi dengan banyak gabungan yang kompleks atau tidak berperforma, atau dimensi dengan subkueri atau subpilihan, menjadi PDT sehingga tabel virtual digabungkan sebelumnya dan siap sebelum runtime.
- Jika dialek database Anda mendukung PDT inkremental, konfigurasikan PDT inkremental untuk mengurangi waktu yang dihabiskan Looker untuk membangun ulang tabel PDT.
- Hindari menggabungkan tabel virtual ke dalam Eksplorasi pada kunci utama yang digabungkan yang ditentukan di Looker. Sebagai gantinya, gabungkan kolom dasar yang membentuk kunci utama gabungan dari tabel virtual. Atau, buat ulang tabel virtual sebagai PDT dengan kunci utama gabungan yang telah ditentukan sebelumnya dalam definisi SQL tabel, bukan dalam LookML tabel virtual.
- Gunakan alat Explain in SQL Runner untuk melakukan tolok ukur.
EXPLAINmenghasilkan ringkasan rencana eksekusi kueri database Anda untuk kueri SQL tertentu, sehingga Anda dapat mendeteksi komponen kueri yang dapat dioptimalkan. Pelajari lebih lanjut di Postingan komunitas Cara mengoptimalkan SQL denganEXPLAIN. - Mendeklarasikan indeks. Anda dapat melihat indeks setiap tabel langsung di Looker dari SQL Runner dengan mengklik ikon roda gigi di tabel, lalu memilih Show Indexes.
Kolom yang paling umum yang dapat memanfaatkan indeks adalah tanggal penting dan kunci asing. Menambahkan indeks ke kolom ini akan meningkatkan performa hampir semua kueri. Hal ini juga berlaku untuk PDT. Parameter LookML, seperti
indexes,sort keys, dandistribution, dapat diterapkan dengan tepat.
Fase Memproses Hasil
Selama fase Processing Results, Looker memproses dan merender hasil kueri. Fase Hasil Pemrosesan mencakup tugas-tugas berikut:
- Melakukan streaming hasil kueri ke cache
- Menyelesaikan kalkulasi tabel
- Memformat hasil bahasa template Liquid
- Menggabungkan kueri
- Menghitung total dan subtotal
Halaman dokumentasi Memahami metrik performa kueri menjelaskan cara menggunakan Eksplorasi Metrik Performa Kueri di Aktivitas Sistem untuk melihat perincian mendetail kueri. Fase Processing Results dari pelacak kueri mencakup peristiwa yang dijelaskan dalam Post-query phase dari Eksplorasi Metrik Performa Kueri.
Langkah-langkah yang dapat dilakukan jika Anda mengalami masalah performa selama fase ini meliputi:
- Gunakan fitur seperti Hasil Gabungan, kolom kustom, dan kalkulasi tabel seperlunya. Fitur ini dimaksudkan untuk digunakan sebagai bukti konsep guna membantu mendesain model Anda. Praktik terbaiknya adalah melakukan hardcode pada penghitungan dan fungsi yang sering digunakan di LookML, yang akan menghasilkan SQL untuk diproses di database Anda. Penghitungan yang berlebihan dapat bersaing untuk mendapatkan memori Java di instance Looker, sehingga menyebabkan instance Looker merespons lebih lambat.
- Batasi jumlah tabel virtual yang Anda sertakan dalam model jika ada banyak file tabel virtual. Menyertakan semua tabel virtual dalam satu model dapat memperlambat performa. Jika ada banyak tabel virtual dalam sebuah project, pertimbangkan untuk hanya menyertakan file tabel virtual yang diperlukan dalam setiap model. Pertimbangkan untuk menggunakan konvensi penamaan strategis untuk nama file tampilan agar dapat menyertakan grup tampilan dalam model. Contohnya diuraikan dalam dokumentasi parameter
includes. - Hindari menampilkan titik data dalam jumlah besar secara default dalam tile dasbor dan Look. Kueri yang menampilkan ribuan titik data akan menggunakan lebih banyak memori. Pastikan data dibatasi jika memungkinkan dengan menerapkan
filter frontend ke dasbor, Look, dan Explore, serta di tingkat LookML dengan parameter
required filters,conditionally_filter, dansql_always_where. - Download atau kirim kueri menggunakan opsi All Results dengan hemat, karena beberapa kueri bisa sangat besar dan membebani server Looker saat diproses.