一、兩杯難喝的酒
你還記得第一次喝白酒的感覺嗎?
那股辛辣的液體劃過喉嚨,像一條火線灼燒食道。你的臉扭曲,眼眶發紅,胃里翻江倒海。你的身體在用最原始的方式告訴你:這不是食物,這是毒藥。
但旁邊的領導前輩笑瞇瞇地看著你,說:習慣就好了。
MySQL也是如此。當你第一次認真審視它,會發現這東西充滿了令人費解的設計:
?默認字符集是latin1而不是UTF-8,而當你終于改成utf8,才發現那是個假的 —— 真正的UTF-8叫utf8mb4?TIMESTAMP只到2038年,千年蟲的幽靈從未離去。
? 。
?GROUP BY可以選擇非聚合列——SQL標準是什么?能吃嗎??沒有真正的布爾類型,BOOLEAN只是TINYINT(1)的別名?DDL不支持事務,ALTER TABLE是懸在頭頂的達摩克利斯之劍?主從延遲是永恒的痛,優化器的智商經常讓人懷疑人生
你的大腦在用最基本的邏輯告訴你:這不是設計,這是事故。
如果你從零開始學數據庫,PostgreSQL的設計會讓你覺得"理應如此",而MySQL的設計會讓你不斷問"為什么要這樣?"
但旁邊的老員工們淡定地看著你,說:習慣就好了。
沒有為什么,習慣就好。
這和白酒的邏輯一模一樣。"習慣就好"這四個字,是所有規訓的起點。
二、規訓的形成
沒有人天生喜歡白酒。
有意思的是,白酒的酒桌統治地位并非"自古以來"。古人喝的是黃酒、米酒,"煮酒論英雄"煮的可不是二鍋頭。白酒酒桌文化真正的形成,是近幾十年的事——它沿著一條清晰的路徑擴散:從特定的組織體系,到體制內,再到全社會。
這是一種自上而下的制度性傳播。當一個強勢的組織體系把某種行為定義為"規矩",這個規矩就會隨著人員流動和利益關系,滲透到社會的每一個角落。不是因為白酒好喝,而是因為"上面的人都這么喝"。模仿權威、服從規則,是人類的本能。
![]()
MySQL的流行走的是同一條路。
2000年代,互聯網創業的"權威體系"是硅谷和那些成功的大廠。它們用LAMP棧,于是LAMP成為標配——不是因為這些技術最好,而是因為:它免費、它簡單、權威們都用它、所有人都用它。
當BAT把MySQL定為"標準",這個標準就隨著人員流動和行業影響力,擴散到了整個中國互聯網。后來的創業公司、中小企業,自然而然地跟隨大廠的選擇——就像民企跟隨體制內的酒桌規則一樣。
一代又一代程序員在"MySQL是互聯網標配"的敘事中成長。他們沒有機會認真比較過其他數據庫,就被灌輸了這個信念。質疑MySQL,就像在酒桌上說"我不喝白酒"一樣,會收獲異樣的目光:你是不是有什么問題?
規訓從來不是自然形成的。它是被權力結構塑造,然后偽裝成"傳統"和"慣例"的。
三、服從測試
白酒的真正功能是什么?服從測試。
當領導端起酒杯看著你,他測試的不是你的酒量。他測試的是:你愿意為了這段關系,承受多少不適?
喝下那杯辛辣的液體,你的身體在反抗,但你的意志壓制了它。你用行動證明了:為了這個組織、這個位置、這段關系,我愿意傷害自己。
這是最原始的忠誠度測試。不需要語言,不需要承諾,一杯酒就夠了。
MySQL也是同樣的測試。
當一個技術團隊選擇數據庫,表面上是在評估性能、功能、生態。實際上,在很多組織里,這是一個政治決定:
?選MySQL,意味著你服從行業慣例?選MySQL,意味著你不會挑戰現狀?選MySQL,意味著你愿意和大家一起踩坑,而不是獨自承擔"非主流"的風險
在很多公司,提議使用PostgreSQL需要勇氣。你得寫詳細的調研報告,說服每一個利益相關者,為未來可能出現的任何問題負責。而選擇MySQL?什么都不用說。"行業標準"四個字就是免死金牌。
選擇MySQL不需要理由。選擇其他的,需要解釋。
這就是規訓的力量:它把服從變成了默認選項,把思考變成了需要額外努力的事。
四、一個親歷者的故事
我畢業去了阿里,那是 Java 和 MySQL 統治的世界。
天知道要克服多大的阻力,才能在自己負責的項目里使用PostgreSQL和Golang——要寫詳細的技術調研論證,要和各種利益相關方解釋"為什么不用MySQL",沒有人替你運維,你要自己當DBA,要承諾出了問題自己負責。每一步都是逆流而上。
后來我被擠出那個項目。接手的同事做的第一件事,就是開開心心地換回了Java和MySQL。
不是因為遇到了什么技術問題,不是因為PostgreSQL不能勝任,只是因為——換回MySQL,他就不用解釋了。不用向別人證明這個選擇是對的,不用為"非主流"的技術棧承擔隱形責任,不用在每次出問題時面對"早說了用MySQL就沒這事"的目光。
換回MySQL,他就回到了安全區。
我不服。我從阿里跳槽去了探探,去了蘋果。因為他們都用我認可的技術棧——PostgreSQL、Go,我不想再委屈自己了。有人選擇適應系統,有人選擇尋找適合自己的系統。 這是兩種活法,我不評判別人,但我知道自己要什么。
五、吐真劑
白酒還有另一個功能:酒后吐真言。
酒精麻痹前額葉皮層,降低自控力。平時藏在社交面具后面的真實想法,在酒精作用下脫口而出。所以酒桌是觀察人的好地方——你想知道一個人真正的樣子,灌醉他就行。
MySQL也是吐真劑,只不過它暴露的是技術能力和思維方式。
和一個工程師聊數據庫選型,他的反應會告訴你很多:
"MySQL夠用了" —— 他可能從來沒體驗過什么叫"好用"。當你習慣了糟糕,平庸就變成了足夠。
"大家都用MySQL" —— 他做決定的依據是從眾,不是分析。這樣的人在其他事情上大概也是如此。
"PostgreSQL學習曲線太陡了" —— 他可能花了三年時間學習MySQL的各種坑和workaround,卻不愿意花三個月學習一個設計更好的系統。
"我們團隊沒人會" —— 他在告訴你,這個團隊的技術投資方向出了問題。
"換數據庫風險太大" —— 他可能是對的。但這句話的潛臺詞是:我們已經被MySQL綁架了。
我見過太多這種模式:有人對PostgreSQL的每一個特性都要挑刺——"這個功能MySQL也有啊"、"這個性能測試不夠全面"、"這個場景用PostgreSQL不一定更好"——卻對MySQL的根本性設計問題視而不見。
他們不是在做技術評估。他們是在保護自己的認知舒適區。
承認MySQL有問題,就意味著承認自己過去的選擇可能是錯的,承認自己花了多年時間精通的東西可能不是最好的。這種認知失調太痛苦了,所以他們選擇防御。
這是人性。我理解。但理解不等于認同。
六、潮水的方向
好消息是,規訓正在瓦解。
白酒那邊: 年輕人越來越不買賬了。"我不喝酒"不再是社交自殺,而是被尊重的個人選擇。那些堅持"不喝不給面子"的酒桌,正在被新一代人拋棄。
MySQL這邊,潮水也在轉向:
?云原生時代:AWS、Google、Azure都把PostgreSQL作為首推,用真金白銀告訴你未來在哪里?AI時代:pgvector讓PostgreSQL成為向量數據庫的首選,而MySQL還在原地踏步?合規時代:PostgreSQL是純粹的BSD許可證,MySQL是Oracle手里的GPL,企業法務更喜歡哪個不言自明?生態繁榮:打開GitHub看看新項目用什么數據庫,PostgreSQL生態的活力肉眼可見
,都用無可辯駁的數字證明:PostgreSQL是過去十年增長最快的數據庫。 它已經成為新一代創業公司和AI項目的標配,替代了MySQL的位置,成為了那個"默認的數據庫"。
越來越多的團隊開始問:"我們為什么非要用MySQL?"
這就像年輕人在酒桌上說"我不喝白酒"一樣,是規訓瓦解的開始。
七、選擇的勇氣
MySQL不是一個差勁到沒法用的數據庫。它確實運行著無數系統,服務著無數用戶。在某些場景下,它確實夠了。
但 “合適的選擇” 和 “默認的選擇” 是兩回事。前者是思考的結果,后者是規訓的產物。
當你下一次面臨技術選型,當有人說"我們用MySQL吧",我希望你能停下來問一句:為什么?
不是要抬杠,不是要顯得特立獨行。只是:這個決定,值得被認真思考一下。
你花了多少時間學習MySQL的奇技淫巧,繞過它的設計缺陷?如果把同樣的時間投入到一個設計更好的系統,你會走多遠?
你踩過的那些坑——字符集問題、DDL鎖表、主從延遲、優化器抽風——有多少是數據庫本身該解決的問題,卻變成了你的問題?
你習慣的那些"最佳實踐"——把子查詢改成JOIN、用中間表代替CTE、用各種外部工具做本該是數據庫功能的事——有多少其實是在為糟糕的設計打補丁?
PostgreSQL不是完美的,沒有什么是完美的。但它代表了一種不同的可能性:數據庫可以被設計得讓你感到舒適,而不是讓你不斷適應它的怪癖。
選擇 PostgreSQL 不是信仰問題。選擇任何技術都不應該是信仰問題。
但在中國,選擇它需要一點勇氣——打破慣性的勇氣,獨立思考的勇氣,對自己的決定負責的勇氣。這種勇氣,和在酒桌上說"我不喝白酒"的勇氣,本質上是同一種東西:
拒絕被規訓,堅持做判斷。
數據庫老司機
點一個關注 ??,精彩不迷路
對 PostgreSQL, Pigsty,下云 感興趣的朋友
歡迎加入 PGSQL x Pigsty 交流群(搜pigsty-cc)
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.