最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL中utf8mb4排序規(guī)則示例

 更新時間:2021年07月29日 14:34:00   作者:TeyGao  
本文主要介紹了MySQL中utf8mb4排序規(guī)則,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

在MySQL中常見的utf8mb4排序規(guī)則有:

  • utf8mb4_0900_ai_ci
  • utf8mb4_unicode_ci
  • utf8mb4_general_ci

當設置表的默認字符集為utf8mb4字符集但未明確指定排序規(guī)則時:

  • 在MySQL 5.7版本中,默認排序規(guī)則為utf8mb4_general_ci。
  • 在MySQL 8.0版本中,默認排序規(guī)則為utf8mb4_0900_ai_ci。

由于utf8mb4_0900_ai_ci排序規(guī)則時MySQL 8.0引入的排序規(guī)則,因此將MySQL 8.0版本的表導入到MySQL 5.7或MySQL 5.6版本時,會存在字符集無法識別的問題。

[Err] 1273 - Unknown collation: 'utf8mb4_0900_ai_ci'

參數(shù)控制

在MySQL 5.6版本中,參數(shù)collation_server用于設置服務器級別的默認排序規(guī)則。

  • 如果服務啟動時未指定參數(shù)collation_database的值,則默認繼承參數(shù)collation_server的值。
  • 如果創(chuàng)建數(shù)據(jù)庫時未指定排序規(guī)則,則默認使用參數(shù)collation_database的值。

參數(shù)character_set_database和collation_database在MySQL 5.7版本中被遺棄并將在后續(xù)版本中移除。
MySQL新增參數(shù)default_collation_for_utf8mb4用于控制使用utf8mb4字符集時的默認排序規(guī)則,取值為utf8mb4_0900_ai_ci或utf8mb4_general_ci
參數(shù)default_collation_for_utf8mb4在下列條件中生效:

  • 使用SHOW COLLATION and SHOW CHARACTER SET 命令時。
  • 在創(chuàng)建庫或修改庫指定utf8mb4但未指定編碼規(guī)則時。
  • 在創(chuàng)建表或修改表指定utf8mb4但未指定編碼規(guī)則時。
  • 在增加列或修改列指定utf8mb4但未指定編碼規(guī)則時。
  • 其他使用utf8mb4但未指定編碼規(guī)則時。

utf8mb4_unicode_ci和utf8mb4_general_ci對比

1、準確性

  • utf8mb4_unicode_ci排序規(guī)則基于標準unicode進行排序和比較,能處理特殊的字符,能在各種語音中精確排序。
  • utf8mb4_general_ci排序規(guī)則沒有基于標準unicode,無法處理部分特殊字符。

2、性能

  • utf8mb4_general_ci排序規(guī)則在排序性能上相對較好
  • utf8mb4_unicode_ci排序規(guī)則為處理特殊字符實現(xiàn)復雜的排序算法,性能略差
  • 在大部分場景下,兩者沒有明顯的性能差異

補:MySQL--utf8mb4與等值查詢測試

測試腳本

## 刪除測試表
DROP TABLE IF EXISTS tb2001;
DROP TABLE IF EXISTS tb2002;
DROP TABLE IF EXISTS tb2003;

## 創(chuàng)建測試表
CREATE TABLE tb2001(
id INT AUTO_INCREMENT PRIMARY KEY,
c1 VARCHAR(100) COLLATE utf8mb4_unicode_ci,
c2 VARCHAR(100) COLLATE utf8mb4_bin
)ENGINE=INNODB DEFAULT CHARSET=utf8mb4 ;

CREATE TABLE tb2002(
id INT AUTO_INCREMENT PRIMARY KEY,
c1 VARCHAR(100) COLLATE utf8mb4_general_ci,
c2 VARCHAR(100) COLLATE utf8mb4_bin
)ENGINE=INNODB DEFAULT CHARSET=utf8mb4;

CREATE TABLE tb2003(
id INT AUTO_INCREMENT PRIMARY KEY,
c1 VARCHAR(100) COLLATE utf8mb4_0900_ai_ci,
c2 VARCHAR(100) COLLATE utf8mb4_bin
)ENGINE=INNODB DEFAULT CHARSET=utf8mb4;

## 插入測試數(shù)據(jù)
INSERT INTO tb2001(c1,c2)VALUES(0xF09F8D83,0xF09F8D83),(0xF09FA68A,0xF09FA68A),(0xF09F8CA0,0xF09F8CA0);
INSERT INTO tb2002(c1,c2)VALUES(0xF09F8D83,0xF09F8D83),(0xF09FA68A,0xF09FA68A),(0xF09F8CA0,0xF09F8CA0);
INSERT INTO tb2003(c1,c2)VALUES(0xF09F8D83,0xF09F8D83),(0xF09FA68A,0xF09FA68A),(0xF09F8CA0,0xF09F8CA0);

## 等值查詢測試
SELECT * FROM tb2001 WHERE c1=0xF09F8D83;
SELECT * FROM tb2002 WHERE c1=0xF09F8D83;
SELECT * FROM tb2003 WHERE c1=0xF09F8D83;

SELECT * FROM tb2001 WHERE c2=0xF09F8D83;
SELECT * FROM tb2002 WHERE c2=0xF09F8D83;
SELECT * FROM tb2003 WHERE c2=0xF09F8D83;

測試結(jié)果

mysql> SELECT * FROM tb2001 WHERE c1=0xF09F8D83;
+----+------+------+
| id | c1   | c2   |
+----+------+------+
|  1 | 🍃     | 🍃     |
|  2 | 🦊     | 🦊     |
|  3 | 🌠     | 🌠     |
+----+------+------+
3 rows in set (0.00 sec)

mysql> SELECT * FROM tb2002 WHERE c1=0xF09F8D83;
+----+------+------+
| id | c1   | c2   |
+----+------+------+
|  1 | 🍃     | 🍃     |
|  2 | 🦊     | 🦊     |
|  3 | 🌠     | 🌠     |
+----+------+------+
3 rows in set (0.01 sec)

mysql> SELECT * FROM tb2003 WHERE c1=0xF09F8D83;
+----+------+------+
| id | c1   | c2   |
+----+------+------+
|  1 | 🍃     | 🍃     |
+----+------+------+
1 row in set (0.00 sec)

mysql> 
mysql> SELECT * FROM tb2001 WHERE c2=0xF09F8D83;
+----+------+------+
| id | c1   | c2   |
+----+------+------+
|  1 | 🍃     | 🍃     |
+----+------+------+
1 row in set (0.00 sec)

mysql> SELECT * FROM tb2002 WHERE c2=0xF09F8D83;
+----+------+------+
| id | c1   | c2   |
+----+------+------+
|  1 | 🍃     | 🍃     |
+----+------+------+
1 row in set (0.00 sec)

mysql> SELECT * FROM tb2003 WHERE c2=0xF09F8D83;
+----+------+------+
| id | c1   | c2   |
+----+------+------+
|  1 | 🍃     | 🍃     |
+----+------+------+
1 row in set (0.00 sec)

測試總結(jié)

  • 使用utf8mb4字符集能存儲特殊字符如表情符號。
  • utf8mb4_unicode_ci和utf8mb4_general_ci排序規(guī)則無法"正確匹配"特殊字符。
  • utf8mb4_0900_ai_ci排序規(guī)則能"正確匹配"特殊字符,但僅適用MySQL 8.0版本。
  • utf8mb4_bin排序規(guī)則基于二級制方式匹配特殊字符,能"正確匹配"特殊字符,適用于MySQL各個版本。

到此這篇關(guān)于MySQL中utf8mb4排序規(guī)則示例的文章就介紹到這了,更多相關(guān)MySQL utf8mb4排序內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • mysql性能優(yōu)化工具--tuner-primer使用介紹

    mysql性能優(yōu)化工具--tuner-primer使用介紹

    這篇文章主要介紹了mysql性能優(yōu)化工具--tuner-primer的使用方法與返回數(shù)據(jù)分析,需要的朋友可以參考下
    2016-05-05
  • Mysql表的七種類型詳細介紹

    Mysql表的七種類型詳細介紹

    Mysql表類型都有哪些是一定需要知道的,下面就為您介紹七種Mysql表類型,希望能對您學習Mysql表類型有所幫助,需要的朋友可以了解下
    2012-11-11
  • mysql日常鎖表之flush_tables詳解

    mysql日常鎖表之flush_tables詳解

    Flushtables和Flushtableswithreadlock是MySQL中的兩個命令,用于關(guān)閉表對象和清空查詢緩存,它們會等待所有正在運行的SQL請求執(zhí)行結(jié)束,如果請求操作的表集合為{tables},則會阻塞其他會話對{tables}表上的所有操作,包括查詢和寫操作
    2024-11-11
  • mysql 服務意外停止1067錯誤解決辦法小結(jié)

    mysql 服務意外停止1067錯誤解決辦法小結(jié)

    今天在配置服務器時安裝mysql5.5總是無法安裝,查看日志錯誤提示為1067錯誤,下面來看我的解決辦法
    2012-11-11
  • MySQL 5.7.27下載安裝配置的詳細教程

    MySQL 5.7.27下載安裝配置的詳細教程

    這篇文章主要介紹了MySQL 5.7.27詳細下載安裝配置教程,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-08-08
  • Mysql數(shù)據(jù)庫命令大全

    Mysql數(shù)據(jù)庫命令大全

    mysql命令大家經(jīng)常會用到,但是很少有朋友整理吧,最近項目不多,抽個時間把mysql數(shù)據(jù)庫命令總結(jié)給大家,需要的朋友可以參考下
    2015-09-09
  • 使用SQL語句概述-DDL-數(shù)據(jù)類型

    使用SQL語句概述-DDL-數(shù)據(jù)類型

    這篇文章主要介紹了使用SQL語句概述-DDL-數(shù)據(jù)類型,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • 五分鐘帶你搞懂MySQL索引下推

    五分鐘帶你搞懂MySQL索引下推

    這篇文章主要介紹了Mysql的索引下推,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-09-09
  • mysql 5.7.13 解壓縮版(免安裝)安裝配置教程

    mysql 5.7.13 解壓縮版(免安裝)安裝配置教程

    這篇文章主要介紹了MySQL 5.7.13 for Windows解壓縮版(免安裝)安裝配置教程,感興趣的小伙伴們可以參考一下
    2016-06-06
  • MySQL表分區(qū)配置入門指南

    MySQL表分區(qū)配置入門指南

    這篇文章主要為大家介紹了MySQL表分區(qū)配置入門指南,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-05-05

最新評論

天柱县| 大邑县| 从化市| 岳阳市| 揭东县| 聂拉木县| 江永县| 扬州市| 资源县| 吉隆县| 呼和浩特市| 台安县| 青海省| 彭阳县| 张掖市| 武城县| 乐至县| 巫溪县| 喀什市| 岐山县| 肃北| 南宫市| 邯郸市| 蓬溪县| 沙河市| 岳池县| 景谷| 邢台市| 武城县| 奉新县| 汾西县| 安义县| 中山市| 乌拉特后旗| 乐清市| 枝江市| 崇义县| 子长县| 东山县| 木里| 大庆市|