Selamat hari Jumaat semua! Semakin sedikit masa yang tinggal sebelum kursus dilancarkan
Pada peringkat pembangunan
Dalam PostgreSQL 10, kami melihat kelahiran "pemisahan deklaratif," ciri yang direka untuk menyelesaikan banyak masalah yang tidak dapat diselesaikan menggunakan kaedah warisan lama. Ini membawa kepada alat yang lebih berkuasa yang membolehkan kami memisahkan data secara mendatar!
Perbandingan ciri
PostgreSQL 11 memperkenalkan set ciri baharu yang mengagumkan yang membantu meningkatkan prestasi dan menjadikan jadual pembahagian lebih telus kepada aplikasi.
1. Menggunakan Pengecualian Mengehadkan
2. Hanya menambah nod
3. Hanya untuk jadual yang dipisahkan yang merujuk kepada jadual yang tidak dipisahkan
4. Indeks mesti mengandungi semua lajur utama partition
5. Sekatan seksyen di kedua-dua belah pihak mesti sepadan
Produktiviti
Kami juga ada berita baik di sini! Kaedah baru ditambah WHERE
. Algoritma sebelumnya, seterusnya, menyemak setiap bahagian untuk menentukan sama ada ia boleh memenuhi syarat WHERE
. Ini menyebabkan penambahan masa perancangan tambahan apabila bilangan bahagian bertambah.
Dalam 9.6, dengan pembahagian melalui warisan, penghalaan tupel ke dalam partition biasanya dilakukan dengan menulis fungsi pencetus yang mengandungi satu siri pernyataan IF untuk memasukkan tupel ke dalam partition yang betul. Fungsi ini boleh menjadi sangat lambat untuk dilaksanakan. Dengan pembahagian deklaratif ditambah dalam versi 10, ini berfungsi dengan lebih pantas.
Menggunakan jadual pembahagian dengan 100 sekatan, kita boleh menilai prestasi memuatkan 10 juta baris ke dalam jadual dengan 1 lajur BIGINT dan 5 lajur INT.
Prestasi menanyakan jadual ini untuk mencari satu rekod yang diindeks dan melaksanakan DML untuk memanipulasi satu rekod (menggunakan hanya 1 pemproses):
Di sini kita dapat melihat bahawa prestasi setiap operasi telah meningkat dengan ketara sejak PG 9.6. Permintaan SELECT
kelihatan lebih baik, terutamanya yang mampu mengecualikan berbilang partition semasa perancangan pertanyaan. Ini bermakna penjadual boleh melangkau banyak kerja yang sepatutnya dilakukan sebelum ini. Sebagai contoh, laluan tidak lagi dibina untuk bahagian yang tidak perlu.
Kesimpulan
Pembahagian jadual mula menjadi ciri yang sangat berkuasa dalam PostgreSQL. Ia membolehkan anda memaparkan data dalam talian dengan pantas dan membawanya ke luar talian tanpa menunggu operasi DML yang perlahan dan besar-besaran selesai.. Ini juga bermakna data berkaitan boleh disimpan bersama, bermakna data yang anda perlukan boleh diakses dengan lebih cekap. Penambahbaikan yang dibuat dalam versi ini tidak akan dapat dicapai tanpa pembangun, penyemak dan pelaksana yang bekerja tanpa jemu pada semua ciri ini.
Terima kasih kepada mereka semua! PostgreSQL 11 kelihatan hebat!
Berikut adalah artikel yang ringkas tetapi cukup menarik. Kongsi komen anda dan jangan lupa untuk mendaftar
Sumber: www.habr.com