postgre的優(yōu)勢(shì)
當(dāng)前位置:點(diǎn)晴教程→知識(shí)管理交流
→『 技術(shù)文檔交流 』
? ?pg功能比mysql多太多,也可以說(shuō)是免費(fèi)數(shù)據(jù)庫(kù)里最接近oracle的。 單說(shuō)mysql功能上,就沒(méi)法處理全模糊,因?yàn)闆](méi)有全文索引,要模糊查詢就要上es,你別說(shuō)阿里文檔里那啥左模糊右模糊的,你還能控制用戶輸入啥?是個(gè)模糊那就是全模糊。上了es就有多個(gè)庫(kù)數(shù)據(jù)同步的問(wèn)題,處理不好又是一堆bug,平白增加維護(hù)成本。 其次還有啥mysql單表不能超過(guò)1000w,建議500w就分表。這又是個(gè)坑爹東西,說(shuō)白了就是性能不行,oracle收購(gòu)mysql后就故意不優(yōu)化的,逼著你用他家的oracle數(shù)據(jù)庫(kù),我在公司里用oracle還真就沒(méi)這破事,單表幾千萬(wàn)數(shù)據(jù)照樣跑,pg我本地試了下千萬(wàn)數(shù)據(jù)select查詢性能也沒(méi)啥問(wèn)題,mysql是真的和八股文里說(shuō)的一樣,數(shù)據(jù)一到某個(gè)點(diǎn),B+樹(shù)到了第三層性能直線下降。 看過(guò)阿里開(kāi)發(fā)手冊(cè)的就知道,阿里不允許mysql用超過(guò)2個(gè)的join,說(shuō)白了就是join性能實(shí)在是差,我上家公司就有個(gè)服務(wù)用的mysql數(shù)據(jù)庫(kù)出報(bào)表,join超過(guò)3個(gè)表就必定慢sql,優(yōu)化起來(lái)又大改業(yè)務(wù),只能和甲方說(shuō)后臺(tái)表數(shù)據(jù)不是實(shí)時(shí)的,做個(gè)定時(shí)任務(wù)多久更新一次。 ? ?還有mysql utf-8是個(gè)假的utf-8,要用utf-8-xxx,打開(kāi)字符集utf-8開(kāi)頭的編碼就四五個(gè),第一次用起來(lái)真的無(wú)語(yǔ)。 還有類型的支持,pg支持json和數(shù)組,對(duì)應(yīng)代碼里的對(duì)象和集合,這里又甩mysql一條街 ? ?而且就從歷史原因上看,mysql這數(shù)據(jù)庫(kù)明顯就是當(dāng)年阿里那邊給強(qiáng)行搞火的。因?yàn)楫?dāng)年阿里本來(lái)想用oracle,但人家獅子大開(kāi)口給阿里整破防了,于是用的免費(fèi)的mysql。 至于功能上的劣勢(shì)就全靠程序員想方設(shè)法優(yōu)化,現(xiàn)在阿里自己研發(fā)出自己的oceanbase了,不想管mysql了,當(dāng)年那些mysql的奇淫技巧都成為八股文,被小公司拿來(lái)惡心面試者了,不知情的學(xué)生還在那使勁背使勁卷。 但同樣都是免費(fèi)的,pg誰(shuí)用誰(shuí)知道,是真的好用,就單說(shuō)那個(gè)自帶的pgAdmin就相當(dāng)好用,ui好看還好操作。 轉(zhuǎn)載:https://www.zhihu.com/question/20010554/answer/1920648682283468590 該文章在 2025/8/14 16:53:07 編輯過(guò)
|
相關(guān)文章
正在查詢... |