溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

mysql字符集校對規(guī)則有哪些

發(fā)布時間:2021-08-06 14:20:06 來源:億速云 閱讀:138 作者:Leah 欄目:MySQL數據庫

這篇文章給大家介紹mysql字符集校對規(guī)則有哪些,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

目前mysql默認的校對規(guī)則除binary charset為binary外,都為ci,即大小寫不敏感,既然這種校驗規(guī)則容易出問題,那么為什么還要默認為這樣的規(guī)則呢?有句古話叫做存在即合理,不知道為什么mysql采用了這樣的默認規(guī)則呢?

查了下oracle中的校驗規(guī)則,默認為binary,順便查了下文檔關于該參數的解釋:

http://download.oracle.com/docs/cd/B28359_01/server.111/b28320/initparams145.htm#REFRN10127

Note:

Setting NLS_SORT to anything other than BINARY causes a sort to use a full table scan, regardless of the path chosen by the optimizer. BINARY is the exception because indexes are built according to a binary order of keys. Thus the optimizer can use an index to satisfy the ORDER BY clause when NLS_SORT is set to BINARY. If NLS_SORT is set to any linguistic sort, the optimizer must include a full table scan and a full sort in the execution plan.

ps:題外--

前些日子還感嘆,mysql的文檔結構不說怎么樣吧,但是mysql有一個亮點就是注冊用戶可以在在線文檔上添加comments,這些comments的用途想想都該知道的吧。

不經意間發(fā)現oracle 11g文檔也增加了相應的模塊,oracle總是在不斷吸收別人的長處不斷改進,贊一個!

回到正題,看了oracle關于該參數的說明,那不由得想到,mysql可能默認是按照linguistic語義來進行存儲的吧,而這或許也是其多數用戶需求?暫時沒有答案了。

附1:mysql中默認字符集校驗規(guī)則:

alipay@(none) 10:11:56>show charset;
+----------+-----------------------------+---------------------+--------+
| Charset | Description | Default collation | Maxlen |
+----------+-----------------------------+---------------------+--------+
| dec8 | DEC West European | dec8_swedish_ci | 1 |
| cp850 | DOS West European | cp850_general_ci | 1 |
| hp8 | HP West European | hp8_english_ci | 1 |
| koi8r | KOI8-R Relcom Russian | koi8r_general_ci | 1 |
| latin1 | cp1252 West European | latin1_swedish_ci | 1 |
| latin2 | ISO 8859-2 Central European | latin2_general_ci | 1 |
| swe7 | 7bit Swedish | swe7_swedish_ci | 1 |
| ascii | US ASCII | ascii_general_ci | 1 |
| hebrew | ISO 8859-8 Hebrew | hebrew_general_ci | 1 |
| koi8u | KOI8-U Ukrainian | koi8u_general_ci | 1 |
| greek | ISO 8859-7 Greek | greek_general_ci | 1 |
| cp1250 | Windows Central European | cp1250_general_ci | 1 |
| gbk | GBK Simplified Chinese | gbk_chinese_ci | 2 |
| latin5 | ISO 8859-9 Turkish | latin5_turkish_ci | 1 |
| armscii8 | ARMSCII-8 Armenian | armscii8_general_ci | 1 |
| utf8 | UTF-8 Unicode | utf8_general_ci | 3 |
| cp866 | DOS Russian | cp866_general_ci | 1 |
| keybcs2 | DOS Kamenicky Czech-Slovak | keybcs2_general_ci | 1 |
| macce | Mac Central European | macce_general_ci | 1 |
| macroman | Mac West European | macroman_general_ci | 1 |
| cp852 | DOS Central European | cp852_general_ci | 1 |
| latin7 | ISO 8859-13 Baltic | latin7_general_ci | 1 |
| cp1251 | Windows Cyrillic | cp1251_general_ci | 1 |
| cp1256 | Windows Arabic | cp1256_general_ci | 1 |
| cp1257 | Windows Baltic | cp1257_general_ci | 1 |
| binary | Binary pseudo charset | binary | 1 |
| geostd8 | GEOSTD8 Georgian | geostd8_general_ci | 1 |
+----------+-----------------------------+---------------------+--------+
27 rows in set (0.00 sec)

附2:oracle nls_sort

ops$admin@test>select * from v$version;

BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bi

ops$admin@test>select * from v$nls_parameters where parameter ='NLS_SORT';

PARAMETER VALUE
---------------------------------------------------------------- ----------------------------------------------------------------
NLS_SORT BINARY

關于mysql字符集校對規(guī)則有哪些就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI