450× Faster Joins with Index Condition Pushdown
1–10 of 61 posts
Re: 450× Faster Joins with Index Condition Pushdown
#2Re: 450× Faster Joins with Index Condition Pushdown
#3Re: 450× Faster Joins with Index Condition Pushdown
#4We also went from like 6 seconds to 50ms. Huge speedup.
Reference
Re: 450× Faster Joins with Index Condition Pushdown
#5https://dev.mysql.com/doc/refman/9.4/en/index-condition-push...
Re: 450× Faster Joins with Index Condition Pushdown
#6Re: 450× Faster Joins with Index Condition Pushdown
#7What database engine is this in? You reference your product, but I assume this is in MySQL/MariaDB? https://dev.mysql.com/doc/refman/9.4/en/index-condition-push...
ICP in MySQL (which can be built on top of ref/eq_ref, but isn't part of the normal index lookup per se) is a fairly weird concept where the storage engine is told to evaluate certain predicates on its own, without returning the row to the optimizer. This is to a) reduce the number of round-trips (function calls) from the executor down into the storage engine, and b) because InnoDB's secondary indexes need an extra storage round-trip to return the row (secondary indexes don't point at the row you want, they contain the primary key and then you have to lookup the actual row from the PK), so if you can remove the row early, you can skip the main row lookup.
Re: 450× Faster Joins with Index Condition Pushdown
#8Re: 450× Faster Joins with Index Condition Pushdown
#9What database engine is this in? You reference your product, but I assume this is in MySQL/MariaDB? https://dev.mysql.com/doc/refman/9.4/en/index-condition-push...
Re: 450× Faster Joins with Index Condition Pushdown
#10Straddled joins were still a bottleneck in Readyset even after switching to hash joins. By integrating Index Condition Pushdown into the execution path, we eliminated the inefficiency and achieved up to 450× speedups.