排序規則:是指對指定字符集下不同字元的比較規則。其特徵有以下幾點:
1、 兩個不同的字符集不能有相同的排序規則
2、 兩個字符集有乙個預設的排序規則
3、 有一些常用的命名規則。如_ci結尾表示大小寫不敏感(caseinsensitive),_cs表示大小寫敏感(case sensitive),_bin表示二進位制的比較(binary).
utf-8有預設的排序規則:
命令:show charset like 『utf8%『;
區別:utf8_general_ci 不區分大小寫,這個你在註冊使用者名稱和郵箱的時候就要使用。
utf8_general_cs 區分大小寫,如果使用者名稱和郵箱用這個 就會造成不良後果
utf8_bin:字串每個字串用二進位制資料編譯儲存。 區分大小寫,而且可以存二進位制的內容
utf8_general_ci校對速度快,但準確度稍差。
utf8_unicode_ci準確度高,但校對速度稍慢。
用一句話概況上面這段話:utf8_unicode_ci比較準確,utf8_general_ci速度比較快。通常情況下 utf8_general_ci的準確性就夠我們用的了,在我看過很多程式原始碼後,發現它們大多數也用的是utf8_general_ci,所以新建資料 庫時一般選用utf8_general_ci就可以了
Mysql 排序規則選擇
排序規則 是指對指定字符集下不同字元的比較規則。其特徵有以下幾點 1 兩個不同的字符集不能有相同的排序規則 2 兩個字符集有乙個預設的排序規則 3 有一些常用的命名規則。如 ci結尾表示大小寫不敏感 caseinsensitive cs表示大小寫敏感 case sensitive bin表示二進位制...
MySQL唯一索引和普通索引選哪個?
想象這樣乙個場景,在設計一張使用者表時,每人的身份證號是唯一的,需要搜尋。但由於身份證號字段較大,不好將其作為主鍵。在業務 已經保證插入身份證唯一的情況下,可以選擇建立唯一索引和普通索引,這時該如何選擇呢?接下來,將從查詢和更新的執行過程進行分析。查詢過程 假設 k 是表 t 上的索引,在搜尋sel...
MySQL中的排序規則
在新建mysql資料庫或表的時候經常會選擇字符集和排序規則。資料庫用的字符集大家都知道是怎麼回事,那排序規則是什麼呢?排序規則 是指對指定字符集下不同字元的比較規則。其特徵有以下幾點 1 兩個不同的字符集不能有相同的排序規則 2 兩個字符集有乙個預設的排序規則 3 有一些常用的命名規則。如 ci結尾...