› MySQL 5.5 Community Server
› MySQL 5.6 Community Server
› Percona Configuration Wizard
› XtraBackup 搭建主从复制
Great Sites on MySQL
› Percona
› MySQL Performance Blog
› Severalnines
推荐管理工具
› Sequel Pro
› phpMyAdmin
推荐书目
› MySQL Cookbook
MySQL 相关项目
› MariaDB
› Drizzle
参考文档
› http://mysql-python.sourceforge.net/MySQLdb.html
Hankey
V2EX  ›  MySQL

MySQL8.0+排序规则讨论

  •  
  •   Hankey · May 12, 2023 · 5482 views
    This topic created in 1236 days ago, the information mentioned may be changed or developed.

    对于 mysql8.0+,大家在生产环境用的是什么排序规则? 比如 utf8mb4_0900_ai_ci、utf8mb4_general_ci、 utf8mb4_bin还是其它的排序规则?有什么使用经验?

    13 replies  •  2023-05-16 10:09:33 +08:00
    Oktfolio
        1
    Oktfolio  
       May 12, 2023
    utf8mb4_0900_ai_ci
    brader
        2
    brader  
       May 12, 2023
    不管 5 还是 8 ,我习惯是使用 utf8mb4_general_ci ,而且你也不要分什么生产环境,这玩意就要统一,你生产一个样,开发环境一个样,是给自己埋坑吗
    yifei2
        3
    yifei2  
       May 12, 2023
    utf8mb4_general_ci
    xuanbg
        4
    xuanbg  
       May 12, 2023
    utf8mb4_general_ci
    wooke
        5
    wooke  
       May 12, 2023
    utf8mb4_general_ci
    aGVsbG93b3JsZA
        6
    aGVsbG93b3JsZA  
       May 12, 2023
    为啥大家都用大小写不敏感的
    fuchish112
        7
    fuchish112  
       May 12, 2023
    utf8mb4_unicode_ci
    flyv2x
        8
    flyv2x  
       May 13, 2023   ❤️ 2
    utf8mb4_0900_ai_ci 是 MySQL 8.0.1 及以后版本的默认排序规则,它是基于 Unicode 9.0.0 的。它比 utf8mb4_general_ci 更准确,比 utf8mb4_bin 更快。

    以下是几种常用排序规则的特性:

    utf8mb4_0900_ai_ci:这是基于 Unicode 9.0.0 的排序规则。它进行的是不区分大小写的字符比较,不区分重音。这是 MySQL 8.0 的默认排序规则,它比旧版本的排序规则更快,更准确。

    utf8mb4_general_ci:这是基于 Unicode 3.0 的排序规则。它进行的是不区分大小写的字符比较,不区分重音。然而,由于它是基于较早的 Unicode 版本,所以在某些情况下,它可能会产生不准确的结果。

    utf8mb4_bin:这是二进制排序规则。它进行的是区分大小写的比较,也不考虑重音和其他字符特性。它的主要优点是速度快,但在某些情况下,它可能不会产生期望的结果,特别是在进行字符串比较时。

    使用哪种排序规则取决于你的特定需求。如果你需要进行快速的二进制比较,那么 utf8mb4_bin 可能是最好的选择。如果你需要进行基于最新 Unicode 版本的比较,那么 utf8mb4_0900_ai_ci 可能是最好的选择。然而,如果你的应用程序需要兼容旧版本的 MySQL 或者其他数据库,那么 utf8mb4_general_ci 可能是更好的选择。

    但是,总的来说,对于大多数情况,utf8mb4_0900_ai_ci 应该是最好的选择,因为它提供了最准确和最快的结果。
    Hellert
        9
    Hellert  
       May 13, 2023 via Android
    还有一个小区别,utf8mb4_general_ci 比较时会忽略尾部空格,utf8mb4_0900_ai_ci 不会。
    liuxu
        10
    liuxu  
       May 13, 2023
    utf8mb4_unicode_ci
    realpg
        11
    realpg  
       May 13, 2023
    @546L5LiK6ZOt #6
    你永远不知大傻子用户的用户名用的什么奇怪大小写
    tuine
        12
    tuine  
       May 13, 2023
    utf8mb4_zh_0900_as_cs
    leorealman
        13
    leorealman  
       May 16, 2023
    保持和 5.7 一致,我们用的 utf8mb4_general_ci
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   3212 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 48ms · UTC 04:26 · PVG 12:26 · LAX 21:26 · JFK 00:26
    ♥ Do have faith in what you're doing.