› 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 · 5708 views
    This topic created in 1280 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
    Oktfolio
    May 12, 2023
    1
    utf8mb4_0900_ai_ci
    brader
    brader
    May 12, 2023
    2
    不管 5 还是 8 ,我习惯是使用 utf8mb4_general_ci ,而且你也不要分什么生产环境,这玩意就要统一,你生产一个样,开发环境一个样,是给自己埋坑吗
    yifei2
    yifei2
    May 12, 2023
    3
    utf8mb4_general_ci
    xuanbg
    xuanbg
    May 12, 2023
    4
    utf8mb4_general_ci
    wooke
    wooke
    May 12, 2023
    5
    utf8mb4_general_ci
    aGVsbG93b3JsZA
    aGVsbG93b3JsZA
    May 12, 2023
    6
    为啥大家都用大小写不敏感的
    fuchish112
    fuchish112
    May 12, 2023
    7
    utf8mb4_unicode_ci
    flyv2x
    flyv2x
    May 13, 2023❤️2
    8
    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
    Hellert
    May 13, 2023 via Android
    9
    还有一个小区别,utf8mb4_general_ci 比较时会忽略尾部空格,utf8mb4_0900_ai_ci 不会。
    liuxu
    liuxu
    May 13, 2023
    10
    utf8mb4_unicode_ci
    realpg
    realpg
    May 13, 2023
    11
    @546L5LiK6ZOt #6
    你永远不知大傻子用户的用户名用的什么奇怪大小写
    tuine
    tuine
    May 13, 2023
    12
    utf8mb4_zh_0900_as_cs
    leorealman
    leorealman
    May 16, 2023
    13
    保持和 5.7 一致,我们用的 utf8mb4_general_ci
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   927 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 41ms · UTC 20:43 · PVG 04:43 · LAX 12:43 · JFK 15:43
    ♥ Do have faith in what you're doing.