I’m using a django application which does some ‘startswith’ ORM operations comparing longtext columns with a unicode string. This results in a LIKE BINARY comparison operation with a u'mystring' unicode string. Is a LIKE BINARY likely to be any slower than a plain LIKE?
I know the general answer is benchmarking, but I would like to get a general idea for databases in general rather than just my application as I’d never seen a LIKE BINARY query before.
I happen to be using MySQL but I’m interested in the answer for SQL databases in general.
If performance seems to become a problem, it might be a good idea to create a copy of the first eg. 255 characters of the longtext, add an index on that and use the
startswithwith that.BTW, this page says: “if you need to do case-sensitive matching, declare your column as BINARY; don’t use LIKE BINARY in your queries to cast a non-binary column. If you do, MySQL won’t use any indexes on that column.” It’s an old tip but I think this is still valid.