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.00025225714
Overall Rank
207 | 98.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
232 Morsel-Driven Parallelism: A NUMA-Aware Query Evaluation Framework for the Many-Core Age 2014 SIGMOD 0.00024053681
248 Multi-Core, Main-Memory Joins: Sort vs. Hash Revisited 2014 VLDB 0.0002353359
279 FAST: Fast Architecture Sensitive Tree Search on Modern CPUs and GPUs 2010 SIGMOD 0.00022556553
355 Design and Evaluation of Main Memory Hash Join Algorithms for Multi-core CPUs 2011 SIGMOD 0.00020433058
414 Massively Parallel Sort-Merge Joins in Main Memory Multi-Core Database Systems 2012 VLDB 0.00018977855
631 Rethinking SIMD Vectorization for In-Memory Databases 2015 SIGMOD 0.0001567363
670 Fast Sort on CPUs and GPUs: A Case for Bandwidth Oblivious SIMD Sort 2010 SIGMOD 0.00015263604
672 SharedDB: Killing One Thousand Queries With One Stone 2012 VLDB 0.00015237733
845 Cache locality is not enough: High-Performance Nearest Neighbor Search with Product Quantization Fast Scan 2016 VLDB 0.00013697323
869 Rack-Scale In-Memory Join Processing using RDMA 2015 SIGMOD 0.00013544947
909 Hardware-Oblivious Parallelism for In-Memory Column-Stores 2013 VLDB 0.00013344855
939 Memory-Efficient Hash Joins 2015 VLDB 0.00013119219
1,134 DimmWitted: A Study of Main-Memory Statistical Analytics 2014 VLDB 0.00012114015
1,167 A Comprehensive Study of Main-Memory Partitioning and its Application to Large-Scale Comparison- and Radix-Sort 2014 SIGMOD 0.00011962775
1,244 An Experimental Comparison of Thirteen Relational Equi-Joins in Main Memory 2016 SIGMOD 0.00011578969
1,307 Fast Updates on Read-Optimized Databases Using Multi-Core CPUs 2012 VLDB 0.00011303708
1,761 ByteSlice: Pushing the Envelop of Main Memory Data Processing with a New Storage Layout 2015 SIGMOD 9.896048e-05
1,969 Track Join: Distributed Joins with Minimal Network Traffic 2014 SIGMOD 9.4734585e-05
2,018 Joins via Geometric Resolutions: Worst-case and Beyond 2015 PODS 9.38596e-05
2,106 Revisiting Co-Processing for Hash Joins on the Coupled CPU-GPU Architecture 2013 VLDB 9.2262806e-05
2,245 Cache-Efficient Aggregation: Hashing Is Sorting 2015 SIGMOD 8.9438948e-05
2,415 Streaming Similarity Search over one Billion Tweets using Parallel Locality-Sensitive Hashing 2013 VLDB 8.6881419e-05
2,600 Pump Up the Volume: Processing Large Data on GPUs with Fast Interconnects 2020 SIGMOD 8.4275495e-05
2,607 Asynchronous Memory Access Chaining 2016 VLDB 8.4232781e-05
2,627 A Memory Bandwidth-Efficient Hybrid Radix Sort on GPUs 2017 SIGMOD 8.3942863e-05
2,654 Adaptive and Big Data Scale Parallel Execution in Oracle 2013 VLDB 8.3637522e-05
2,754 Query Processing on Tensor Computation Runtimes 2022 VLDB 8.229966e-05
2,890 Distributed Join Algorithms on Thousands of Cores 2017 VLDB 8.0599178e-05
2,923 To Partition, or Not to Partition, That is the Join Question in a Real System 2021 SIGMOD 8.0260054e-05
2,961 Chi: A Scalable and Programmable Control Plane for Distributed Stream Processing Systems 2018 VLDB 7.9686889e-05
3,104 Efficient Join Algorithms For Large Database Tables in a Multi-GPU Environment 2021 VLDB 7.821278e-05
3,321 CloudRAMSort: Fast and Efficient Large-Scale Distributed RAM Sort on Shared-Nothing Cluster 2012 SIGMOD 7.5821551e-05
3,391 Improving Main Memory Hash Joins on Intel Xeon Phi Processors: An Experimental Approach 2015 VLDB 7.5236414e-05
3,406 In-Cache Query Co-Processing on Coupled CPU-GPU Architectures 2015 VLDB 7.5103497e-05
4,015 Deployment of Query Plans on Multicores 2015 VLDB 7.0264117e-05
4,119 SIMD- and Cache-Friendly Algorithm for Sorting an Array of Structures 2015 VLDB 6.952036e-05
4,407 OmniDB: Towards Portable and Efficient Query Processing on Parallel CPU/GPU Architectures 2013 VLDB 6.7820862e-05
4,482 Triton Join: Efficiently Scaling to a Large Join State on GPUs with Fast Interconnects 2022 SIGMOD 6.7350602e-05
4,537 The Art of Balance: A RateupDBTM Experience of Building a CPU/GPU Hybrid Database Product 2021 VLDB 6.7115627e-05
4,580 MQJoin: Efficient Shared Execution of Main-Memory Joins 2016 VLDB 6.6916493e-05
4,777 FPGA-based Data Partitioning 2017 SIGMOD 6.5814136e-05
5,011 Holistic Indexing in Main-memory Column-stores 2015 SIGMOD 6.4695774e-05
5,115 Density-optimized Intersection-free Mapping and Matrix Multiplication for Join-Project Operations 2022 VLDB 6.4228413e-05
5,155 Predicate Transfer: Efficient Pre-Filtering on Multi-Join Queries 2024 CIDR 6.406044e-05
5,447 FPGA-based Multithreading for In-Memory Hash Joins 2015 CIDR 6.2838155e-05
5,505 Database Processing-in-Memory: An Experimental Study 2020 VLDB 6.2623889e-05
5,650 Design and Evaluation of Storage Organizations for Read-Optimized Main Memory Databases 2013 VLDB 6.1999539e-05
5,682 Charting the Design Space of Query Execution using VOILA 2021 VLDB 6.1875556e-05
5,760 MCJoin: A Memory-Constrained Join for Column-Store Main-Memory Databases. 2012 SIGMOD 6.1608898e-05
5,923 ThunderRW: An In-Memory Graph Random Walk Engine 2021 VLDB 6.103827e-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
29 Database Architecture Optimized for the new Bottleneck: Memory Access 1999 VLDB 0.00052586133
73 Cache Conscious Algorithms for Relational Query Processing 1994 VLDB 0.00037755216
103 Quickly Generating Billion-Record Synthetic Databases 1994 SIGMOD 0.00034011884
149 Multiprocessor Hash-Based Join Algorithms 1985 VLDB 0.0002937289
216 AlphaSort: A RISC Machine Sort 1994 SIGMOD 0.00024760855
220 A Study of Index Structures for Main Memory Database Management Systems 1986 VLDB 0.00024501959
289 Implementing Database Operations Using SIMD Instructions 2002 SIGMOD 0.00022421967
295 GPUTeraSort: High Performance Graphics Co-processor Sorting for Large Database Management 2006 SIGMOD 0.00022142356
625 Adaptive Aggregation on Chip Multiprocessors 2007 VLDB 0.00015743977
630 Relational Joins on Graphics Processors 2008 SIGMOD 0.0001568032
708 Efficient Implementation of Sorting on Multi-Core SIMD CPU Architecture 2008 VLDB 0.00014869132
968 What happens during a Join? Dissecting CPU and Memory Optimization Effects 2000 VLDB 0.00012978462
1,224 Handling Data Skew in Multiprocessor Database Computers Using Partition Tuning 1991 VLDB 0.0001168502
1,750 An Adaptive Hash Join Algorithm for Multiuser Environments 1990 VLDB 9.9238868e-05
2,432 Hash-Based Join Algorithms for Multiprocessor Computers with Shared Memory 1990 VLDB 8.6535611e-05
2,603 Executing Stream Joins on the Cell Processor 2007 VLDB 8.4245654e-05
2,639 Database Servers on Chip Multiprocessors: Limitations and Opportunities 2007 CIDR 8.3832688e-05
Previous Page 1 / 1 Next

Semantically Similar Papers