Index selectivity ----------------- Key: CORE-5146 URL: http://tracker.firebirdsql.org/browse/CORE-5146 Project: Firebird Core Issue Type: Bug Affects Versions: 3.0 Beta 2 Reporter: Marco Van Kan
While testing FB 3.0 (RC2) we encountered a bad performance on a simple query: SELECT MIN(HE.DATEVALUE) FROM HOURITEMS HI INNER JOIN DIHOURENTRIES HE ON HI.HOURITEMID = HE.HOURITEMID WHERE HI.PROJECTID = 30762 Indexes are on all fields of the query above (HI.HOURITEMID, HE.HOURITEMID, HI.PROJECTID AND HE.DATEVALUE) FB 2.5 handles this query very fast (0.07sec). FB 3.0 is much slower (1.6sec). This performance lag is caused by 'weird' use of index. Below a comparison: FB 2.5 uses the indexes on HI.PROJECTID AND HE.HOURITEMID FB 3.0 RC2 uses the indexes on HI.HOURITEMID AND HE.DATEVALUE >> HI.PROJECTID is ignored! A 'workaround' for FB 3.0 could be something like: SELECT MIN(HE.DATEVALUE) , COUNT(0) AS DUMMY FROM HOURITEMS HI INNER JOIN DIHOURENTRIES HE ON HI.HOURITEMID = HE.HOURITEMID WHERE HI.PROJECTID = 30762 -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://tracker.firebirdsql.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira ------------------------------------------------------------------------------ Transform Data into Opportunity. Accelerate data analysis in your applications with Intel Data Analytics Acceleration Library. Click to learn more. http://pubads.g.doubleclick.net/gampad/clk?id=278785111&iu=/4140 Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel