使用「SET NAMES」的注意事項
在 MySQL 資料庫處理的上下文中,「SET NAMES」的正確使用一直是一個討論的話題。正如 O'Reilly 的《高效能 MySQL》中所述,在腳本開頭使用「SET NAMES UTF8」的做法因其效率低下而受到質疑。
Unicode 感知資料庫的最佳實踐工作流程
為了獲得最佳的Unicode 支持,請考慮以下建議:
-
利用MySQL API 呼叫: 諸如mysql_set_charset()、mysqli_set_charset()、可以使用或PDO連接參數直接設定字元集,從而加快執行速度。
-
配置MySQL伺服器:在my.ini中設定character_set_client、character_set_results和character_set_connection等伺服器變數/cnf 檔案與資料庫建立基於UTF-8 的永久通訊,消除了動態「SET NAMES ”查詢的需要。
-
考慮伺服器範圍的影響:建立伺服器時要小心-級字元集修改,因為它可能會影響依賴不同字元集的其他應用程式。
透過遵循這些最佳實踐,您可以確保腳本和 MySQL 之間高效且有效的 unicode 感知通訊資料庫。
以上是為什麼我們應該避免在 MySQL 腳本中使用「SET NAMES」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!