Indeks BRIN untuk Jadual Berpartisi Besar
Pelajari bila Indeks Julat Blok mengatasi B-tree pada jadual berpartisi yang sangat besar dan tersusun secara semula jadi.
Indeks BRIN untuk Jadual Berpartisi Besar ialah pelajaran PostgreSQL Lanjutan: Pengindeksan, Pembahagian dan Replikasi percuma di CoddyKit. Ini ialah pelajaran 4 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran PostgreSQL Lanjutan: Pengindeksan, Pembahagian dan Replikasi, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus PostgreSQL Lanjutan: Pengindeksan, Pembahagian dan Replikasi merangkumi sejumlah 4 pelajaran.
Masalah Penskalaan
Pada jadual dengan berbilion-bilion baris, indeks B-tree boleh menjadi sangat besar dan menggunakan banyak memori. BRIN (Indeks Julat Blok) menawarkan alternatif kecil untuk data yang tersusun secara semula jadi.
Cara BRIN Berfungsi
BRIN menyimpan nilai minimum dan maksimum bagi setiap julat blok, bukannya satu entri bagi setiap baris. Pertanyaan menyemak julat yang mungkin mengandungi baris sepadan dan mengimbas hanya blok tersebut.
Korelasi Adalah Kunci
BRIN amat berkesan apabila susunan fizikal lajur berkorelasi dengan susunan nilainya, seperti cap masa inserted_at pada jadual yang hanya menerima penambahan. Susunan rawak menjadikan BRIN hampir tidak berguna.
Mencipta Indeks BRIN
Anda mengisytiharkannya dengan USING brin. Saiznya jauh lebih kecil berbanding B-tree pada lajur yang sama.
CREATE INDEX ON measurements USING brin (recorded_at);pages_per_range
Parameter storan pages_per_range mengawal perincian. Nilai yang lebih kecil menghasilkan indeks yang lebih tepat (tetapi lebih besar).
CREATE INDEX ON measurements USING brin (recorded_at)
WITH (pages_per_range = 32);Perbandingan Saiz
B-tree mungkin berukuran berbilang gigabait pada jadual dengan berbilion baris; BRIN yang setara mungkin hanya berukuran beberapa megabait. Pertukarannya ialah BRIN melakukan penapisan yang lebih kasar.
BRIN pada Pembahagian
Pada jadual yang dibahagikan mengikut julat, cipta BRIN pada induk; indeks itu disebarkan kepada setiap bahagian. Dalam sesuatu bahagian, data biasanya berkorelasi dengan baik, jadi BRIN berfungsi dengan sangat baik.
CREATE INDEX ON events USING brin (created_at);Memastikan BRIN Terkini
Blok baharu mesti diringkaskan supaya BRIN merangkuminya. Autovacuum melakukan perkara ini, atau anda boleh memaksanya.
SELECT brin_summarize_new_values('measurements_recorded_at_idx');Mengesahkan dengan EXPLAIN
Cari Imbasan Indeks Peta Bit pada indeks BRIN yang diikuti dengan semakan semula. Semakan semula mengesahkan bahawa blok calon benar-benar mengandungi padanan.
EXPLAIN SELECT * FROM measurements
WHERE recorded_at > now() - interval '1 day';Bila Tidak Patut Menggunakan BRIN
Elakkan BRIN untuk:
- Lajur dengan susunan fizikal yang rawak
- Carian titik yang memerlukan capaian tepat dan pantas (gunakan B-tree)
- Penguatkuasaan keunikan (BRIN tidak boleh melakukannya)
Menggabungkan Strategi
Pada skala besar, corak biasa ialah: bahagikan mengikut julat masa, gunakan BRIN pada lajur masa untuk imbasan julat yang murah, dan gunakan B-tree kecil pada kunci asing yang kerap ditapis.
Semakan Pantas
Bilakah BRIN merupakan pilihan yang baik?
Imbas Kembali
Anda telah mempelajari indeks BRIN: ringkasan julat blok yang kecil dan sesuai untuk jadual terbahagi yang besar serta berkorelasi dengan baik. Laraskan pages_per_range, pastikan ringkasan sentiasa terkini, sahkan dengan EXPLAIN, dan gabungkan BRIN dengan B-tree terpilih.
Pelajari PostgreSQL Lanjutan: Pengindeksan, Pembahagian dan Replikasi dengan tutor kecerdasan buatan — percuma
Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.
- Kursus
- 11
- Pelajaran
- 44
Soalan Lazim
Adakah pelajaran “Indeks BRIN untuk Jadual Berpartisi Besar” percuma?
Ya — teks penuh “Indeks BRIN untuk Jadual Berpartisi Besar” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus PostgreSQL Lanjutan: Pengindeksan, Pembahagian dan Replikasi, tingkat taraf kepada CoddyKit PRO. Kursus PostgreSQL Lanjutan: Pengindeksan, Pembahagian dan Replikasi merangkumi sejumlah 4 pelajaran.
Apakah yang akan saya pelajari dalam “Indeks BRIN untuk Jadual Berpartisi Besar”?
Pelajari bila Indeks Julat Blok mengatasi B-tree pada jadual berpartisi yang sangat besar dan tersusun secara semula jadi. Anda berlatih PostgreSQL Lanjutan: Pengindeksan, Pembahagian dan Replikasi menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.
Adakah saya memerlukan pengalaman untuk memulakan PostgreSQL Lanjutan: Pengindeksan, Pembahagian dan Replikasi?
Tiada pengalaman terdahulu diperlukan. Pembelajaran PostgreSQL Lanjutan: Pengindeksan, Pembahagian dan Replikasi di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 4 daripada 4.
Berapa lamakah pelajaran “Indeks BRIN untuk Jadual Berpartisi Besar” diambil?
Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.
Bolehkah saya menulis dan menjalankan kod dalam pelajaran PostgreSQL Lanjutan: Pengindeksan, Pembahagian dan Replikasi ini?
Ya. Setiap pelajaran PostgreSQL Lanjutan: Pengindeksan, Pembahagian dan Replikasi menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.
Semua pelajaran dalam kursus ini
- Menskalakan Indeks dengan Pembahagian
- Memilih Strategi Indeks/Pembahagian
- Kajian Kes Dunia Sebenar
- Indeks BRIN untuk Jadual Berpartisi Besar