postgresql簡介對比.

前言

之前就聽說pg功能強大,而且使用排名也比較高,正好要接入pg管控運維,需要快速學習,下面是pg與mysql和Oracle的簡單對比,可以在大的層面上有所瞭解


pg與mysql對比

MySQL pg
SQL語法支持弱(不支持sequence,子查詢性能弱) 主流奪標查詢能力強(Nest loop, hash join, sort merge join), sql語法能力強(with語句), 正則表達式能力強,where支持正則表達函數,存儲過程支持的好(可用perl Python編寫)
性能數據少 (這個確實,性能採集需要專門監控來做) 性能工具強(大量性能試圖,看到正在執行的sql,鎖視圖等),有專門的架構和進程用於性能收集
online DDL支持的不好 加空列只是加表定義,瞬間的事,在線索引不鎖表
異步複製/半同步複製 9.1開始支持同步複製
支持複雜SQL,支持大量分析函數,空間索引,支持插件
  • 使用推薦
    • 簡單存儲功能,操作簡單,大部分邏輯在應用中完成 推薦用 mysql或者nosql
    • 不想消耗太多開發資源,數據庫完美與代碼融合 推薦用pg,寫數據庫就跟寫Python似的

pg與Oracle對比

  • 共同點
    • 都是用共享內存進程結構
    • 連接都是一個進程爲此連接服務,跟mysql的線程池差別較大
    • WAL日誌和Oracle的redo類似都是記錄物理塊數據的變化,與mysql的binlog差別較大
  • pg功能略弱與Oracle(不支持索引組織表等)
  • pg支持的類型多,比如: 網絡地址類型,XML, JSON, UUID, 數組,正則表達式函數where中可用正則,可用perl/Python等寫存儲過程 更小巧

參考: postgresql 修煉之道

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章