国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

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

瀏覽:16日期:2023-10-17 18:08:00

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

utf8mb4_0900_ai_ci utf8mb4_unicode_ci utf8mb4_general_ci

當(dāng)設(shè)置表的默認(rèn)字符集為utf8mb4字符集但未明確指定排序規(guī)則時(shí):

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

由于utf8mb4_0900_ai_ci排序規(guī)則時(shí)MySQL 8.0引入的排序規(guī)則,因此將MySQL 8.0版本的表導(dǎo)入到MySQL 5.7或MySQL 5.6版本時(shí),會(huì)存在字符集無(wú)法識(shí)別的問(wèn)題。

[Err] 1273 - Unknown collation: ’utf8mb4_0900_ai_ci’

參數(shù)控制

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

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

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

使用SHOW COLLATION and SHOW CHARACTER SET 命令時(shí)。 在創(chuàng)建庫(kù)或修改庫(kù)指定utf8mb4但未指定編碼規(guī)則時(shí)。 在創(chuàng)建表或修改表指定utf8mb4但未指定編碼規(guī)則時(shí)。 在增加列或修改列指定utf8mb4但未指定編碼規(guī)則時(shí)。 其他使用utf8mb4但未指定編碼規(guī)則時(shí)。utf8mb4_unicode_ci和utf8mb4_general_ci對(duì)比

1、準(zhǔn)確性

utf8mb4_unicode_ci排序規(guī)則基于標(biāo)準(zhǔn)unicode進(jìn)行排序和比較,能處理特殊的字符,能在各種語(yǔ)音中精確排序。 utf8mb4_general_ci排序規(guī)則沒(méi)有基于標(biāo)準(zhǔn)unicode,無(wú)法處理部分特殊字符。

2、性能

utf8mb4_general_ci排序規(guī)則在排序性能上相對(duì)較好 utf8mb4_unicode_ci排序規(guī)則為處理特殊字符實(shí)現(xiàn)復(fù)雜的排序算法,性能略差 在大部分場(chǎng)景下,兩者沒(méi)有明顯的性能差異補(bǔ):MySQL--utf8mb4與等值查詢測(cè)試

測(cè)試腳本

## 刪除測(cè)試表DROP TABLE IF EXISTS tb2001;DROP TABLE IF EXISTS tb2002;DROP TABLE IF EXISTS tb2003;## 創(chuàng)建測(cè)試表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;## 插入測(cè)試數(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);## 等值查詢測(cè)試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;

測(cè)試結(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)

測(cè)試總結(jié)

使用utf8mb4字符集能存儲(chǔ)特殊字符如表情符號(hào)。 utf8mb4_unicode_ci和utf8mb4_general_ci排序規(guī)則無(wú)法'正確匹配'特殊字符。 utf8mb4_0900_ai_ci排序規(guī)則能'正確匹配'特殊字符,但僅適用MySQL 8.0版本。 utf8mb4_bin排序規(guī)則基于二級(jí)制方式匹配特殊字符,能'正確匹配'特殊字符,適用于MySQL各個(gè)版本。

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

標(biāo)簽: MySQL 數(shù)據(jù)庫(kù)
相關(guān)文章:
主站蜘蛛池模板: 精品久久免费观看 | 久久综合99re久久爱 | 精品三级视频 | 狠狠色丁香婷婷综合久久片 | 欧美一级一片 | 国产成人精品视频一区 | 欧美日本一道高清二区三区 | 欧美做爰性欧美 | 五月色一区二区亚洲小说 | 欧美黄免在线播放 | 亚洲国产欧洲精品路线久久 | 欧美日韩精品国产一区二区 | 直接在线观看的三级网址 | 综合在线视频 | 亚洲精品美女在线观看 | 成人性色大片 | 亚洲视频日韩 | 欧洲一级片 | 久久久国产成人精品 | 欧美成人免费大片888 | 91一区二区在线观看精品 | 久久久久久久久免费视频 | 免费三级毛片 | 亚洲一区二区三区高清 | 国产精品青草久久 | 午夜成人在线视频 | 欧美视频自拍偷拍 | 国产精品日本一区二区不卡视频 | 新版天堂中文资源8在线 | 中字毛片 | 72种姿势欧美久久久久大黄蕉 | 毛片免费看看 | 久久九九精品一区二区 | 99九九精品国产高清自在线 | 日韩国产欧美精品综合二区 | 亚洲人成网址在线播放a | 97超级碰碰碰久久久观看 | 国内精品久久久久影院老司 | 一区二区三区高清视频在线观看 | 久色网址 | 国产免费一区二区三区在线 |