我與拉美的理解VS UTF8是按如下:拉丁Vs的UTF8字符集和使用索引(MySQL的5.5)
「拉丁僅支持拉丁字符(如英語),但UTF-8支持的所有國際語言,如法語,,葡萄牙語,阿拉伯語等(甚至不支持完全,因爲它使用每字符3字節,而它應該使用每個字符4字節來照顧所有國際utf8字符)按照標準拉丁存儲1個字符在1字節而utf8 1個字符在1-3字節,但如果我們將所有字符以拉丁文存儲在一個utf8類型列中,那麼它將在1字節中存儲1個字符。「
latin vs utf8索引:「列值取字節爲每列中的字符和字符集類型,但索引總是以字節爲單位存儲值。」
可能有人清楚我的下面的問題,我會非常感激。
假設在utf8字符集類型表中有一個標題varchar(250)列,並且它有一個索引作爲Alter table mytable add index(title(16));
如果此列包含刺痛「這是我的標題」,其中包含16個字符和所有拉丁文。然後清除以下查詢:
1)由於字符串包含16個字符,並且都是拉丁類型,所以它應該只存儲16個字節,即使表字符集是utf8或其他。
2)16個字節的索引足以處理這16個字符的字符串或其他。
謝謝,
扎法爾
@Tim:謝謝你的解釋性答案。 –
Joni,謝謝你的幫助。 –