• 请不要在回答技术问题时复制粘贴 AI 生成的内容
bagel
V2EX  ›  程序员

你们的服务器设的什么 locale?

  •  1
     
  •   bagel · Nov 8, 2023 · 3624 views
    This topic created in 1096 days ago, the information mentioned may be changed or developed.

    上面要跑数据库,系统 locale 用 en_US.UTF-8 还是 zh_CN.UTF-8 会影响中文搜索排序的性能吗?

    17 replies  •  2023-11-10 10:46:26 +08:00
    knightdf
    knightdf
    Nov 8, 2023
    1
    系统 locale en_US.UTF-8
    Masoud2023
    Masoud2023
    Nov 8, 2023
    2
    数据库跟 locale 有什么关系
    4BVL25L90W260T9U
    4BVL25L90W260T9U
    Nov 8, 2023
    3
    当然是 en_US ,不过跟你数据库有啥关系……
    flyqie
    flyqie
    Nov 8, 2023 via Android
    4
    en_US
    bagel
    bagel
    OP
    Nov 8, 2023
    5
    数据库会默认用系统的 locale 创建数据库实例。那你们是系统用 en_US.UTF-8 ,数据库单独设成 zh_CN.UTF-8 ,这样?
    fd9xr
    fd9xr
    Nov 8, 2023 via iPhone
    6
    为什么数据库会用 zh_CN?
    bagel
    bagel
    OP
    Nov 8, 2023
    7
    因为会存储数据包含中文,有搜索排序需求,可能 zh_CN.UTF-8 更能保证正确性?
    NessajCN
    NessajCN
    Nov 8, 2023
    8
    @bagel 包不包含中文跟系统 locale 当然是没有半毛钱关系的
    blankmiss
    blankmiss
    Nov 8, 2023
    9
    不知道 但是我的认知里 这两个东西应该没有任何关联 我不知道你是怎么想的
    bagel
    bagel
    OP
    Nov 8, 2023
    10
    @NessajCN 系统的 locale 会影响数据库的 locale (除非专门设置),进而影响正确性和速度。比如汉字排序在不同 locale 下不同,性能也差几倍,刚找到篇文章: https://github.com/Vonng/pg/blob/master/app/sql-locale.md
    gadfly3173
    gadfly3173
    Nov 8, 2023 via Android
    11
    @bagel 如果你有根据拼音排序的需求,冗余一个拼音字段比设置数据库 locale 应该是更好的选择
    NessajCN
    NessajCN
    Nov 8, 2023❤️2
    12
    @bagel 所以你不也说了,因为数据库 locale 有时候会跟着系统 locale,「进而」对汉字排序产生影响
    也就是有影响的是「数据库 locale 」而非「系统 locale 」
    那我说「系统 locale 跟数据库包不包含中文没关系」有啥错呢...
    在 locale 敏感的环境下手动设置一个数据库 locale 难道不是理所当然的?
    Noita
    Noita
    Nov 8, 2023
    13
    同 en_us
    fd9xr
    fd9xr
    Nov 9, 2023 via iPhone
    14
    @bagel 没有任何关联
    cnhongwei
    cnhongwei
    Nov 9, 2023
    15
    PG 不了解,但 Mysql 和 Oracle 都是创建数据库的时间指定字符集和排序集的。和系统 Locale 没有关系。
    daimaosix
    daimaosix
    Nov 9, 2023❤️1
    16
    C.UTF-8
    julyclyde
    julyclyde
    Nov 10, 2023
    17
    其实不存在“系统级”locale
    各进程都分别有自己的环境变量。环境变量未经设置的时候,才是一次性继承自上一级进程
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1526 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 54ms · UTC 10:01 · PVG 18:01 · LAX 02:01 · JFK 05:01
    ♥ Do have faith in what you're doing.