阅读文档后,我想我应该询问我正在寻找的不区分大小写行为的性能问题。就上下文而言,我正在进行从 SQL Server 到 PostgreSQL 的迁移项目,我需要确保数据库中的所有数据条目都实现了不区分大小写。这会成为数据库迁移的问题吗?据我了解,当所有表都使用非确定性排序规则时,会出现性能问题。
虽然非确定性排序规则给出了更“正确”的行为,尤其是考虑到 Unicode 的全部功能及其许多特殊情况时,但它们也有一些缺点。最重要的是,它们的使用会导致性能下降。请特别注意,B 树不能对使用非确定性排序规则的索引使用重复数据删除。此外,某些操作对于非确定性排序规则是不可能的,例如模式匹配操作。因此,它们应仅在特别需要的情况下使用。
我最终发现这篇文章在 PostgreSQL 中不区分大小写的模式匹配配置背后具有清晰的性能和推理。
https://www.cybertec-postgresql.com/en/case-insensitive-pattern-matching-in-postgresql/