performance of like in territory based collation databases may be improved by
changing way collation elements are calculated.
-----------------------------------------------------------------------------------------------------------------------------
Key: DERBY-2699
URL: https://issues.apache.org/jira/browse/DERBY-2699
Project: Derby
Issue Type: Improvement
Components: SQL
Affects Versions: 10.3.0.0
Reporter: Mike Matrigali
WorkHorseForCollatorDatatypes.java has a method getCollationElementsForString()
which currently gets
called when processing like clauses in databases that have been created with
territory based collation, this is
not an issue in pre-10.3 databases or post 10.3 default databases.
getCollationElementsForString gets the collation elements for the entire value
of the String held by
the datatype using the class.
If you take the case of pattern 'A%' and the value of datatype is
'BXXXXXXXXXXXXXXXXXXXXXXX',
then it would have been better to better to get collation elements one
character of the String value at a time
to avoid the process of getting collation elements for the entire string when
we don't really need it
One could imagine this might have a huge performance impact on running like
against a long clob where
the like pattern has leading fixed-length pattern to match.
Comments on this from Dan and Dag can be found in DERBY-2416.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.