Does LC_CTYPE affect performance, index use?
I've read that setting LC_COLLATE to something other than "C" / "POSIX" negatively affects performance, and disables use of indexes for LIKE, etc...
Does the same apply to LC_CTYPE?
I am considering setting LC_COLLATE = "C", and LC_CTYPE = "en_US.UTF-8", and using LOWER() to case-fold strings for sorting, and equality. The motivation for setting LC_CTYPE = "en_US.UTF-8", instead of "C", is to gain at least some degree of case-folding for international characters.
Does this sound like a reasonable plan?
Thanks,
Steven Dodd | Software Developer | Street Contxt
416-596-9011 | 19 Mercer St, Suite 301, Toronto, ON, M5V 1H2
--
This e-mail message is intended for the named recipient(s) above, and may
contain information that is privileged, confidential and/or exempt from
disclosure under applicable law. If you have received this message in
error, or are not the named recipient(s), please do not read the content.
Instead, immediately notify the sender and delete this e-mail message. Any
unauthorized use, disclosure or distribution is strictly prohibited.
Quantify Labs Inc and the sender assume no responsibility for any errors,
omissions, or readers' misinterpretations and/ or understanding of the
content or transmission of this email.
On Wed, 2013-11-20 at 14:57 -0500, Steven Dodd wrote:
I've read that setting LC_COLLATE to something other than "C" /
"POSIX" negatively affects performance, and disables use of indexes
for LIKE, etc...
It doesn't disable the use of indexes, you just need to create different
indexes.
Does the same apply to LC_CTYPE?
Yes.
I am considering setting LC_COLLATE = "C", and LC_CTYPE =
"en_US.UTF-8", and using LOWER() to case-fold strings for sorting, and
equality. The motivation for setting LC_CTYPE = "en_US.UTF-8", instead
of "C", is to gain at least some degree of case-folding for
international characters.
Does this sound like a reasonable plan?
No, if you need internalized behavior, then set both LC_COLLATE and
LC_CTYPE to en_US.UTF-8 (or some other suitable locale) and check the
relevant documentation sections about how to create the right indexes.
--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general