首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有多个排序规则如何影响数据库的大小?

有多个排序规则如何影响数据库的大小?
EN

Database Administration用户
提问于 2023-03-02 15:35:39
回答 1查看 42关注 0票数 0

我们正在调查如何将应用程序从使用MSSQL更改为Postgres。

我们遇到了排序规则的问题- Postgres默认为区分大小写,而MSSQL默认为不区分大小写。如果我们将Postgres排序规则更改为不区分大小写,则不再支持某些功能(例如)。

我的同事的解决方案是添加一个区分大小写和不区分大小写的排序规则,以便我们可以使用不区分大小写的排序规则,除非我们需要这样做,在这种情况下,我们使用区分大小写的排序规则和ILIKE。

我的问题是,有两个排序规则如何影响数据库的大小?

是否要将所有文本字段存储两次?还是索引中的所有文本?

EN

回答 1

Database Administration用户

回答已采纳

发布于 2023-03-02 17:24:18

您可以拥有任意数量的排序规则:排序规则只是表pg_collation中的一行,几乎不需要占用任何空间。

以下是如何处理模式匹配的两个想法:

  1. 使用citext数据类型:如果不存在,则创建扩展;它适用于LIKE
  2. 创建一个两次显示同一列的视图:创建排序规则english_ci ( PROVIDER = icu,LOCALE =‘en-US@colStrength=备用“,确定性= FALSE );创建表数据( id bigint主键,值文本排序规则english_ci );创建视图v_data作为选择id,值,从数据中将"C”作为like_value排序;插入v_data (id,value)值(1,'string');从v_data中选择* like_value ILIKE 'Str%';id like_value│════╪════════╪════════════1│字符串│字符串(1行)
票数 1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/324294

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档