Feature #15876
closedUse explicit INNER JOIN instead of cross join
0%
Description
DB resource usage could be reduced if the pi uses explicit INNER JOIN instead of cross join follwed by a filter in the WHERE clause. Currently the search plugin joins different tables by just listing them allin the FROM clause. If the DB doesn't use an optimizer, this means that first all possible combinations of rows from all tables are generated and later filtered according to the WHERE clause. Using explicit JOIN in the FROM clause with a condition significantly reduces the number of combinations that have to be created prior to filtering with the remaining where clause.
The attached diff is against class.tx_indexedsearch.php version 1.15.2.4 as found in the indexed_search extension included in 4.0beta2
(issue imported from #M2953)
Files