openGauss MySQL相容性增強

奔跑的数据库發表於2024-03-28

MySQL相容性增強

可獲得性

本特性自openGauss 3.0.0版本開始引入。

特性簡介

本特性主要從以下幾方面增強openGauss與MySQL的相容性(只列舉部分典型語法,詳情請參見《資料遷移指南》中“MySQL相容性說明”章節):。

支援使用者鎖,允許使用者透過sql加自定義的鎖,可以讓多個程式之間完成加鎖相關的互動過程,使得客戶端從任何位置訪問都可以得到一致性的鎖檢視。

支援建表插入資料時預設記錄插入當前時間;更新資料時,如果未指定更新時間,預設顯示資料變更的當前時間。

支援設定會話級SQL模式,允許執行時變更、全域性變更以及會話內變更。

支援隱藏索引,隱藏索引不會被最佳化器使用。

支援欄位大小寫敏感。建表時使用的欄位名將保留大小寫的資訊到系統表中,而真正使用這些列時,忽略大小寫。

支援schema級、表級、列級設定和修改預設字符集和排序規則。

支援rand(N)/random_bytes(N)函式。

支援使用ASCII/BINARY作為列屬性。

支援使用0x的方式作為十六進位制數輸入。

支援MySQL協議相容,透過MySQL的JDBC driver或者MySQL命令列客戶端,直接連線openGauss,透過引數hot_standby、dolphin_hot_standby控制備機的可連線性。

支援B庫字元序右模糊匹配時走索引掃描。會將匹配條件轉換為大於等於和小於等於兩個不等式作為索引條件。

客戶價值

透過設定使用者鎖,對資料、資料結構或者某些字串進行保護,避免會話之間相互干擾,保證了資訊的一致性和安全性。解決了使用者業務資料寫入與修改時,記錄其操作時間戳的問題。透過設定sql模式,可以解決早期版本遺留問題與後期版本的相容性。透過隱藏索引,可以在不禁用/刪除/重建索引的情況下,測試刪除某個索引對於查詢效能的影響,提升SQL調優的效率。透過支援欄位大小寫敏感,可以讓列名在查詢時保持建表時的大小寫資訊。透過支援schema級、表級、列級設定和修改預設字符集和排序規則,可以讓使用者根據實際使用場景靈活調整字符集和排序規則。

相關文章