As benchmark is inspired by ClickBench, it drops caches between different queries.
Benchmark is ready to go. Make sure that postgres is running on standard port and accessible without password. postgres/bin should be included in PATH.
./benchmark.sh
Each run creates test db. Drop it manually between runs if necessary.
- time_with_switchjoin - contains Total Time for queries with using of Switch Join
- time_without_switchjoin - contains Total Time for queries without using of Switch Join
- data - contains the data for benchmark.sh
- plans_swich_join - query plans with the Switch Join
- plans_vanilla - query plans without using of Switch Join
- queries - contains sql queries
- 22_stats - statistic information about 22.sql
- fileoutput_switchjoin_off_tpch.csv - contains Total Time for every query without Switch Join
- fileoutput_switchjoin_on_tpch.csv - contains Total Time for every query with Switch Join
- 22_analyze_off_plan - the Explain query for 22.sql without Switch Join
- output_22_analyze_switchjoin - the Explain with Analyze query for 22.sql with Switch Join
- output_9_analyze_switchjoin - the Explain with Analyze query for 9.sql with Switch Join
- output_9_off_default_statistics=10000 - the Explain query for 9.sql without Switch Join
- output_9off_after_extended statistics - the Explain query for 9.sql after applying Extended statistics without Switch Join
- output_9off_after_extended statistics - the Explain query for 9.sql after applying Extended statistics without Switch Join
- stats for 9 query - statistic information about 9.sql
You can get the docker with Switch Join using this command.
docker pull alena0704/switch_join
It is only available for PostgreSQL 17th version.