Posts

Showing posts with the label Partitioning

PostgreSQL 10'da Partitioning

Merhaba, Partitioning aslında bir tablonun belirlenen kriterler için küçük parçalara ayrılmasıdır. Parçalarına ayrılan tabloya partitioned(master) tablo denir. Partitioned tabloları oluşturan küçük tablolara da partition(child) tabloları denir. Büyük tabloları daha küçük parçalara ayırmanın bir kaç sebebi var. Sorgu performansının arttırılmasını sağlar. Bir tablonun erişilmiş satırların çoğu aslında tek bir partitionda yada küçük parçalar halinde biren fazla partition tablolarında yer alır. Partition tabloları index sütunlarına yol göstermeye, index boyutunu küçültmeye ve yoğun şekilde kullanılan indexleri memory ile fit etmeye yarar. Bulk loads ve DELETE işlemleri için partition tablolarının partitioned tablolara eklenmesi ve çıkarılmasıyla başarım sağlanabilir. ALTER TABLE DETACH PARTITION yapmak yada partitioned tabloyla bağını DROP TABLE ile koparmak bulk operasyonlar için oldukça hızlıdır. DELETE komutundan dolayı VACUUM gereksinimi ortadan kalkacaktır. PostgreSQL 10 öncesinde ku