Merged PRs
dolt
go-mysql-server
- 2901:
disable_merge_join
corner case
Disable merge join previously could only kick in if other hints were applied. We also want it to work in the absence of hints. - 2899: [memo] hash join right-side cardinality can be filtered
Previously assumed HASH_JOIN would load whole right table into memory. This overestimates the cost, we only read and cache the indexed fraction.
perf benchmarks: #9007
Closed Issues
Performance
Read Tests | MySQL | Dolt | Multiple |
---|---|---|---|
covering_index_scan | 1.89 | 0.67 | 0.35 |
groupby_scan | 13.22 | 17.95 | 1.36 |
index_join | 1.47 | 2.43 | 1.65 |
index_join_scan | 1.44 | 1.42 | 0.99 |
index_scan | 34.95 | 29.72 | 0.85 |
oltp_point_select | 0.18 | 0.27 | 1.5 |
oltp_read_only | 3.49 | 5.28 | 1.51 |
select_random_points | 0.34 | 0.6 | 1.76 |
select_random_ranges | 0.37 | 0.62 | 1.68 |
table_scan | 34.95 | 31.37 | 0.9 |
types_table_scan | 75.82 | 114.72 | 1.51 |
reads_mean_multiplier | 1.28 |
Write Tests | MySQL | Dolt | Multiple |
---|---|---|---|
oltp_delete_insert | 8.9 | 6.21 | 0.7 |
oltp_insert | 4.1 | 3.07 | 0.75 |
oltp_read_write | 8.9 | 11.45 | 1.29 |
oltp_update_index | 4.18 | 3.13 | 0.75 |
oltp_update_non_index | 4.18 | 3.07 | 0.73 |
oltp_write_only | 5.67 | 6.32 | 1.11 |
types_delete_insert | 8.43 | 6.55 | 0.78 |
writes_mean_multiplier | 0.87 |
TPC-C TPS Tests | MySQL | Dolt | Multiple |
---|---|---|---|
tpcc-scale-factor-1 | 96.85 | 40.13 | 2.41 |
tpcc_tps_multiplier | 2.41 |
Overall Mean Multiple | 1.52 |
---|