Publishing Journal • JURTEKSI (jurnal Teknologi dan Sistem Informasi)

COMPARATIVE ANALYSIS OF B-TREE AND HASH INDEXES FOR POSTGRESQL QUERY OPTIMIZATION

DOI: 10.35870/pioaj.6364 Year: 2026 Pages: 41-55 (Vol. 12, No. 3) Views: 3
Authors & Researchers
R
Ramdhani, Angga Universitas Pendidikan Indonesia1
W
Widodo, Suprih Universitas Pendidikan Indonesia2

Abstract

Abstract: Query performance is a critical factor in managing large-scale databases. One of the most widely used optimization techniques is indexing. This study aims to analyze the impact of indexing on query performance in PostgreSQL, compare the effectiveness of B-Tree and Hash indexes, and evaluate their influence on query planner decisions. A quantitative experimental approach was employed using the TPC-H benchmark dataset at scale factors SF0.1, SF1, and SF10. Experiments were conducted using EXPLAIN ANALYZE on exact match, range, and join queries under three conditions: without indexing, with B-Tree indexing, and with Hash indexing. The results demonstrate that indexing significantly improves query performance. For exact match queries on the SF10 dataset, execution time decreased from 93.36 ms without indexing to 0.034 ms using B-Tree and 0.045 ms using Hash indexes. For join queries, execution time was reduced from 857.77 ms to 0.180 ms using B-Tree and 0.079 ms using Hash indexes. B-Tree showed consistent performance across different query types, while Hash achieved the best results for equality-based queries. Furthermore, index usage influenced query planner decisions in selecting more efficient execution strategies. These findings indicate that appropriate index selection can substantially improve data access efficiency in PostgreSQL.        Keywords: b-tree index; hash index; PostgreSQL; query optimization; query planner     Abstrak: Performa query merupakan faktor penting dalam pengelolaan basis data berskala besar. Salah satu teknik optimasi yang umum digunakan adalah indexing. Penelitian ini bertujuan menganalisis pengaruh penggunaan indexing terhadap performa query pada PostgreSQL, membandingkan efektivitas B-Tree dan Hash index, serta mengevaluasi pengaruhnya terhadap keputusan query planner. Penelitian menggunakan metode eksperimen kuantitatif dengan dataset benchmark TPC-H pada skala SF0.1, SF1, dan SF10. Pengujian dilakukan menggunakan EXPLAIN ANALYZE pada exact match query, range query, dan join query dalam kondisi tanpa index, menggunakan B-Tree index, dan Hash index. Hasil penelitian menunjukkan bahwa indexing meningkatkan performa query secara signifikan. Pada exact match query dataset SF10, execution time menurun dari 93,36 ms tanpa index menjadi 0,034 ms menggunakan B-Tree dan 0,045 ms menggunakan Hash index. Pada join query, execution time berkurang dari 857,77 ms menjadi 0,180 ms menggunakan B-Tree dan 0,079 ms menggunakan Hash index. B-Tree menunjukkan performa yang konsisten pada berbagai jenis query, sedangkan Hash index memberikan performa terbaik pada query berbasis equality. Selain itu, penggunaan index memengaruhi keputusan query planner dalam memilih strategi eksekusi yang lebih efisien. Hasil penelitian menunjukkan bahwa pemilihan metode indexing yang tepat dapat meningkatkan efisiensi akses data pada PostgreSQL   Kata kunci: b-tree index; hash index; optimasi query; PostgreSQL; query planner