Database Paper Browser

Back to papers

Sort vs. Hash Revisited: Fast Join Implementation on Modern Multi-Core CPUs

Summary: Revisits hash join vs sort-merge join on modern multi-core CPUs with optimized parallel implementations. Hash join hits >100M tuples/s on Intel Core i7; sort-merge delivers 47–80M. Analytical models indicate wider SIMD and more cores favor sort-merge, suggesting future architectures may swing dominance away from hash. (summarized by gpt-5-nano on Feb 09 2026)

Paper ID
9866
Venue
VLDB
Year
2009
Pagerank
0.00026368305
Overall Rank
350 | 97.57%
DOI
-

Incoming Non-self Citations Over Time

Authors

Incoming Citations (Sorted by Pagerank)

Showing 50 of 80 citing papers.

Rank Citing Paper Year Venue Pagerank
382 FAST: Fast Architecture Sensitive Tree Search on Modern CPUs and GPUs 2010 SIGMOD 0.00024888997
403 Multi-Core, Main-Memory Joins: Sort vs. Hash Revisited 2014 VLDB 0.00024176677
417 Morsel-Driven Parallelism: A NUMA-Aware Query Evaluation Framework for the Many-Core Age 2014 SIGMOD 0.00023734582
538 Design and Evaluation of Main Memory Hash Join Algorithms for Multi-core CPUs 2011 SIGMOD 0.00020632609
584 Massively Parallel Sort-Merge Joins in Main Memory Multi-Core Database Systems 2012 VLDB 0.00019700451
932 Fast Sort on CPUs and GPUs: A Case for Bandwidth Oblivious SIMD Sort 2010 SIGMOD 0.00015227954
934 SharedDB: Killing One Thousand Queries With One Stone 2012 VLDB 0.00015201246
959 Rethinking SIMD Vectorization for In-Memory Databases 2015 SIGMOD 0.00015034808
1,016 Memory-Efficient Hash Joins 2015 VLDB 0.00014630024
1,044 DimmWitted: A Study of Main-Memory Statistical Analytics 2014 VLDB 0.00014465007
1,196 Rack-Scale In-Memory Join Processing using RDMA 2015 SIGMOD 0.00013378379
1,252 Cache locality is not enough: High-Performance Nearest Neighbor Search with Product Quantization Fast Scan 2016 VLDB 0.00013023834
1,285 Hardware-Oblivious Parallelism for In-Memory Column-Stores 2013 VLDB 0.00012809552
1,610 A Comprehensive Study of Main-Memory Partitioning and its Application to Large-Scale Comparison- and Radix-Sort 2014 SIGMOD 0.00011155922
1,726 Fast Updates on Read-Optimized Databases Using Multi-Core CPUs 2012 VLDB 0.00010734339
1,800 An Experimental Comparison of Thirteen Relational Equi-Joins in Main Memory 2016 SIGMOD 0.00010494121
2,298 Joins via Geometric Resolutions: Worst-case and Beyond 2015 PODS 9.0746479e-05
2,390 ByteSlice: Pushing the Envelop of Main Memory Data Processing with a New Storage Layout 2015 SIGMOD 8.9006978e-05
2,518 Track Join: Distributed Joins with Minimal Network Traffic 2014 SIGMOD 8.6052941e-05
2,523 Revisiting Co-Processing for Hash Joins on the Coupled CPU-GPU Architecture 2013 VLDB 8.599693e-05
2,741 Cache-Efficient Aggregation: Hashing Is Sorting 2015 SIGMOD 8.1977375e-05
2,872 Streaming Similarity Search over one Billion Tweets using Parallel Locality-Sensitive Hashing 2013 VLDB 7.9797548e-05
3,016 Adaptive and Big Data Scale Parallel Execution in Oracle 2013 VLDB 7.7060968e-05
3,161 A Memory Bandwidth-Efficient Hybrid Radix Sort on GPUs 2017 SIGMOD 7.4648665e-05
3,179 Asynchronous Memory Access Chaining 2016 VLDB 7.4350144e-05
3,260 Query Processing on Tensor Computation Runtimes 2022 VLDB 7.3091312e-05
3,328 Pump Up the Volume: Processing Large Data on GPUs with Fast Interconnects 2020 SIGMOD 7.2136181e-05
3,428 Distributed Join Algorithms on Thousands of Cores 2017 VLDB 7.1002401e-05
3,551 Chi: A Scalable and Programmable Control Plane for Distributed Stream Processing Systems 2018 VLDB 6.9776252e-05
3,660 CloudRAMSort: Fast and Efficient Large-Scale Distributed RAM Sort on Shared-Nothing Cluster 2012 SIGMOD 6.8683099e-05
3,719 To Partition, or Not to Partition, That is the Join Question in a Real System 2021 SIGMOD 6.8141176e-05
3,886 Density-optimized Intersection-free Mapping and Matrix Multiplication for Join-Project Operations 2022 VLDB 6.6610704e-05
3,899 Efficient Join Algorithms For Large Database Tables in a Multi-GPU Environment 2021 VLDB 6.6513982e-05
3,994 Improving Main Memory Hash Joins on Intel Xeon Phi Processors: An Experimental Approach 2015 VLDB 6.5476357e-05
4,089 In-Cache Query Co-Processing on Coupled CPU-GPU Architectures 2015 VLDB 6.4559891e-05
4,609 Deployment of Query Plans on Multicores 2015 VLDB 6.0458679e-05
4,649 SIMD- and Cache-Friendly Algorithm for Sorting an Array of Structures 2015 VLDB 6.0171025e-05
4,678 OmniDB: Towards Portable and Efficient Query Processing on Parallel CPU/GPU Architectures 2013 VLDB 5.9988623e-05
5,129 The Art of Balance: A RateupDBTM Experience of Building a CPU/GPU Hybrid Database Product 2021 VLDB 5.6724875e-05
5,179 FPGA-based Data Partitioning 2017 SIGMOD 5.6384436e-05
5,251 Triton Join: Efficiently Scaling to a Large Join State on GPUs with Fast Interconnects 2022 SIGMOD 5.6003972e-05
5,298 MQJoin: Efficient Shared Execution of Main-Memory Joins 2016 VLDB 5.5762694e-05
5,378 Holistic Indexing in Main-memory Column-stores 2015 SIGMOD 5.5379945e-05
5,612 Design and Evaluation of Storage Organizations for Read-Optimized Main Memory Databases 2013 VLDB 5.4104818e-05
5,723 MCJoin: A Memory-Constrained Join for Column-Store Main-Memory Databases. 2012 SIGMOD 5.3530385e-05
5,732 FPGA-based Multithreading for In-Memory Hash Joins 2015 CIDR 5.3473621e-05
5,772 Predicate Transfer: Efficient Pre-Filtering on Multi-Join Queries 2024 CIDR 5.3313794e-05
5,795 What Is the Price for Joining Securely? Benchmarking Equi-Joins in Trusted Execution Environments 2022 VLDB 5.3236883e-05
6,063 ThunderRW: An In-Memory Graph Random Walk Engine 2021 VLDB 5.2259989e-05
6,116 Database Processing-in-Memory: An Experimental Study 2020 VLDB 5.1995375e-05
Previous Page 1 / 2 Next

Outgoing Citations (Sorted by Pagerank)

Showing 17 of 17 cited papers.

Citations counted here include only citations to other VLDB/SIGMOD/CIDR/PODS papers in this database.

Rank Cited Paper Year Venue Pagerank
52 Database Architecture Optimized for the new Bottleneck: Memory Access 1999 VLDB 0.00066322421
77 Multiprocessor Hash-Based Join Algorithms 1985 VLDB 0.00056488357
81 Cache Conscious Algorithms for Relational Query Processing 1994 VLDB 0.00055253195
85 AlphaSort: A RISC Machine Sort 1994 SIGMOD 0.00053652634
145 Quickly Generating Billion-Record Synthetic Databases 1994 SIGMOD 0.00041403894
235 A Study of Index Structures for Main Memory Database Management Systems 1986 VLDB 0.00031980259
238 GPUTeraSort: High Performance Graphics Co-processor Sorting for Large Database Management 2006 SIGMOD 0.00031596093
343 Implementing Database Operations Using SIMD Instructions 2002 SIGMOD 0.00026756534
711 Adaptive Aggregation on Chip Multiprocessors 2007 VLDB 0.00017724982
771 Relational Joins on Graphics Processors 2008 SIGMOD 0.00016813054
944 Efficient Implementation of Sorting on Multi-Core SIMD CPU Architecture 2008 VLDB 0.0001512998
1,077 What happens during a Join? Dissecting CPU and Memory Optimization Effects 2000 VLDB 0.00014224986
1,355 Handling Data Skew in Multiprocessor Database Computers Using Partition Tuning 1991 VLDB 0.00012417228
1,861 An Adaptive Hash Join Algorithm for Multiuser Environments 1990 VLDB 0.00010297093
2,622 Hash-Based Join Algorithms for Multiprocessor Computers with Shared Memory 1990 VLDB 8.4404954e-05
2,768 Executing Stream Joins on the Cell Processor 2007 VLDB 8.1518597e-05
2,782 Database Servers on Chip Multiprocessors: Limitations and Opportunities 2007 CIDR 8.1278531e-05
Previous Page 1 / 1 Next

Semantically Similar Papers