在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

MySQL自傳

數據庫小組 ? 來源:數據庫小組 ? 作者:數據庫小組 ? 2022-09-06 11:03 ? 次閱讀

撰寫本文查閱了大量參考資料,也得到很多朋友的指點幫助,特別感謝:

Jimmy Yang——阿里云數據庫研究員,原Oracle InnoDB Architect.

彭立勛——華為云數據庫總工程師,MySQL ACE Director,MySQL中國用戶組創始成員之一.

譚宇——玖章算術首席架構師,原阿里巴巴技術總監,數據庫智能運維研發負責人,OceanBase創始團隊成員.

MySQL

「初出茅廬」

我是一只勤勞的小海豚,網名叫MySQL,出生于1995年5月23號,正宗95后,你們可別小看我,我現在可是全世界最流行的開源數據庫,全球有800萬個實例呢。

早些年的事情我也不太記得了,只想起爸爸希望我的特長是查詢數據比較快,幫他解決一些工作上的事情。Monty爸爸非常愛我,每天都陪伴在我身邊,教我技能,并且看到我每進步一些就取個新代號,真是望女成鳳啊。記得6歲那年,我還是個丑小鴨,代號是V3.23,開始有人認識我了,感覺我小巧可愛,不像有些前輩(Oracle)那么古板,他們雖然經驗非常豐富,但請他們干活得準備個半天,并且貴得要死。我到處打黑工,基本不收費,并且把我的做事方法開源了,很多人開始幫我改進,感覺自己進步神速。

「劍露鋒芒」

記得到2005年,我10歲,已經進化成V5.0,以前只會從表格里查查資料,我現在開始學會了不少高級技能(如:視圖、存儲過程、函數、觸發器),而且我還把內部資料整理在叫information_schema的倉庫,讓大家更了解我,很多高級的事情他們可以查詢倉庫自己干了,我第一次懂得與其他人協作完成事情,因為我學會了分布式事務(XA)。雖然自己學會了很多技能,但是總是毛手毛腳,爸爸天天幫我擦屁股(bug太多?。?。

直到2008年,我13歲,進化為V5.1,才開始大膽出去接客。那時很多中國的小伙伴開始了解我,他們之前一直是請Oracle這些老古董,后來互聯網業務發展很快,請Oracle干活太費錢了,于是和我密切接觸。記得新浪、網易、阿里巴巴、百度、騰訊等小伙伴對我都非常熱情,我很開心,他們把很多業務交給我來處理,還幫助我提升技能。

壓力山大的是阿里巴巴說要把全部業務都交給我負責,他們搞了個去IOE的行動,并且還有個剁手節,我很慌啊。每年11.11號大家一起剁手,我從來沒見過這么多人,尤其是那些姐妹們,根本停不下來,我就要不停記錄他們的訂單,我感覺我快要撐不住了,你看,她們的手都在這里:“那是2002年的第一場雪”,哦,記錯了,是2012年的11.11號0點,我算徹底崩了,休息了30分鐘才緩過來。小伙伴知道我壓力太大,撐不住,于是自己再找了中間代理商幫我分擔壓力,那時中間商很多,Vitess、Cobar、TDDL、DDS、MyCAT等等,中間商給我的活一般比較簡單,每次只要拿很少的數據,壓力瞬間小了很多。

「意中人」

我打小一直和MyISAM哥哥搭配,雖然很多時候都干得不錯,但是在遇到要同時干幾件事情的時候,他就力不從心,為了避免出錯,我只能讓他一件一件干,客人感覺我們效率不高,我也非常煩惱。

后來有個叫InnoDB的小伙子主動來幫我,我太開心了,當很多活過來的時候,我慢慢開始推薦InnoDB哥哥處理了,他確實不錯呀,可以幾件事情同時開工,從不出錯。我慢慢愛上他了,但是我一直放不下MyISAM,直到2010年,我攤牌了,正式和InnoDB哥哥在一起,開始新的生活,和InnoDB磨合一段時間,越來越融洽了。

到2013年,我剛滿18歲,代號升級為V5.6,InnoDB也更強大,效率提升了2倍,另外我還把很多運行數據記錄在performance_schema了,遇到問題可以很快診斷原因?,F在全世界的程序員都喜歡我,還有很多DBA(數據庫管理員)把我做事情的方法研究得非常透徹,持續給我改進意見。我已經不是當年的丑小鴨了,AWS、Facebook這些土豪們也喜歡和我合作。

「獨門秘籍」

從小爸爸教了我一些獨門秘籍,我感覺自己雖然內功不夠,但是招式很牛,初學者都非常喜歡,我給大家介紹幾招哈:

一、主備分身術

所謂分身術,就是主備可以同時處理事情,這可是我的拿手絕活。

我可以瞬間變出一個分身,甚至是多個分身,當事情很多的時候,這些分身可以一起上,那效率杠杠的。我的分身術在互聯網圈子太實用了,可以秒秒鐘搭起讀寫分離架構,不要太爽。

而那些老前輩的分身術比較老套,他們通常是一個人單打獨斗,偶爾也培養個分身,在自己扛不住時候換分身頂上,平時分身都是在一旁看著。后來他們也學習我的分身術,但總感覺是照貓畫虎,哈哈。

不過Oracle那個老家伙功力深厚,有本RAC秘籍,說非常牛,我一直沒有學會。

二、秀外慧中掌(SHOW)

在我這里,可以用SHOW方法查看很多內部資料,如分身、庫、表、視圖、函數、用戶、幫助,啥都可以SHOW出來,一展芳容啊。DBA們特別喜歡這些招術。

show slave status; # 查看分身(備庫)狀態

show processlist; #查看當前連接信息,可以看到當前誰在訪問我,還可以看到當前運行的慢SQL了

show databases; #查看數據庫列表

show tables; #查看表列表

show create table t1; #查看表定義

show grants for user1; #查看用戶有哪些權限

show engine innodb status; #查看innodb運行細節,什么死鎖、內存信息都在這里了

而老前輩們總是把自己那點東西藏著掖著,根本沒這項技能。

三、翻頁神器

大家搜索信息的時候,經常會如下翻頁顯示

我的翻頁神器就是專門干這個事情,非常厲害,看招:

#MySQL使用limit的分頁語法,查看從第90條開始的10條數據

select * from user

order by name limit 90,10

那些老家伙是下面的打法,實在是丟人,三招打完,感覺還是云里霧里:

#Oracle使用rownum分頁語法

select *

from(

select rownum as rn,

a.*

from user a

order by name

where rownum<100

)

where rn>90

后來SQL標準組織老大爺們搞了個新的分頁語法,如下是做的樣板,你看懂了嗎,反正我看了后感覺要頭暈,記不住啊。

9e619821b85f426b96f42581b7f12965

分頁語法

好了,我的獨門秘籍還有很多很多,以后再娓娓道來,接下來講講我的幾次重大變故。

「嫁入豪門/背井離鄉」

我家本來在瑞典的MySQL AB,在美國也有一些伙伴。2008年,美國硅谷有個叫SUN的土豪盯上我們家,說要給我們10億美金發展,家人們沒有經得住誘惑,于是我們就搬到SUN的地方。SUN家大業大,他們老大叫SPARC(一種精簡指令集CPU架構,和Intel是對頭),老二叫Solaris(一種UNIX操作系統,老古董了),還有只賺吆喝不賺錢的Java,雖然家大業大,但總感覺是虛胖,不是一般的虛胖。很快,到2009年,大土豪Oracle前輩用74億美金把SUN買了,我的天啊,我在SUN家人還沒認全,又要搬家了。

到了Oracle后,我終于和InnoDB哥哥團聚了,InnoDB在2005年就搬到Oracle家,一直和我眉來眼去,這次算是有情人終成眷屬(其實我之前還有個初戀BerkeryDB也在Oracle家,不過那都是過去的事了)。

難過的是我爸爸Monty,他是開源斗士,非常不喜歡Oracle,和我們分道揚鑣。他自己回到芬蘭,培養我妹妹MariaDB,其實到SUN家的時候,爸爸就感覺不可能和我永遠在一起,開始花時間在MariaDB上???,下面是我姐妹倆的靚照,MariaDB妹妹和我是不是很像啊。

MySQL、MariaDB

爸爸希望我不要在Oracle家里受欺負,如果Oracle不要我了,我還可以和MariaDB住到一起?,F在MariaDB也自己出來工作了,有時我們還會PK下,但是我更希望她快快長大。爸爸年過花甲,最近又去中國見老朋友了,還說要陪妹妹工作到100歲,祝福他老人家,越活越年輕。

我一直在鉆研分身術,很早的時候分身只會模仿我的口令行事(Statement模式)。到2008年(V5.1)的時候,我把法術細節(Row模式)傳送給她,她就可以自己靈活發揮了。 到2015年,那年我20歲,我也升級到了V5.7,分身更厲害了,以前分身在我非常忙的時候,她有點跟不上,現在我們信息可以并發同步,她已經完全跟上我的節奏。那時業界還流行了JSON(把XML打趴下的),于是我也悄悄的學會JSON,還有那個地理空間技術,都是在我20歲練成的。另外InnoDB也修煉了動態調整內存技能,對內存使用可以像孫悟空的金箍棒一樣,說大就大,說小就小。

Oracle一直在給我醞釀V5.8的代號,都要昭告天下了,我感覺自己進步很大,V8更符合我的氣質提升,于是2018年,我決定從V5.7搖身變為V8.0代號。MyISAM哥哥實在對不住啊,我感覺要徹底離開你了,V8的我已經和InnoDB全面融合,我的機密小倉庫(元數據)都是InnoDB的了。我還學會了窗口函數、CTE語法,可以說在數據分析和復雜SQL處理方面如虎添翼。我正在修煉Hash Join(一種比較高級的算法,前輩們都非常熟練),不過還是初學階段,大家見笑了。

「名人煩惱」

因為我在業界小有名氣,據探子回報,有31位江湖新秀在修煉我的招式,OceanBase、TiDB、TDSQL、SequoiaDB、ShardingSphere、Vitess、HotDB,另外還有AWS的Aurora、阿里云PolarDB、華為云GaussDB等等,他們都說比我強大,學會了分布式和云原生的武功秘籍,另外還在修煉HTAP神功。我的天啊,我比較怕怕,更不知道如何還擊,但是“我還是我,不一樣的煙火”。

我對大數據處理不太擅長,不過有些新人這方面天賦異稟。比如最近有個俄羅斯出生的ClickHouse小朋友很出名,他也模仿了我的一些招式,我挺看好他的。中國還有個叫Doris的小弟弟也從我這里學了一招半式,據說拽得不行。我們自家剛出生了個HeatWave的弟弟,也有數據分析的天賦,不過他很少出門,一直住在我家云里面,現在家里人都圍著他轉,希望他快點長大。

我也不知道未來會怎么樣,那些NoSQL的同行總在挑釁我,包括MongoDB、Redis、Nebula Graph、TDengine等等。最近10年大家都開始搬到云上生活,感覺在Oracle這里很分裂,我們家那朵云好像不溫不火。最早家里不讓我住到云上,反而AWS、阿里云他們把我當頭牌,早早把云上天之一號房間給我,我也給他們賺了上百億現金,真是投桃報李啊。我是墻里開花墻外香,你懂的。

其實我到Oracle家一直都不太受待見,感覺像個小妾,擔心我搶正房的風頭,外界總謠傳Oracle買我只是為了得到我。InnoDB哥哥一直在鼓勵我活著,我們也是互相依靠了,畢竟如果我沒了,他肯定也活不下去。我雖然一直在升級,但也不知道V9啥時候發布,因為現在大家都在上云,所以我的核心任務也是在云上站穩腳跟,其他事情都顧不上了。

我還有個叫大象(PostgreSQL)的死對頭,其實她是70后,叫她大姐估計會拿刀砍我。她在十幾歲的時候家里發生了一些變故,后來迷上了面向對象的法術,以為那是絕世神功,最后沒練成,不了了之,還留下了一堆廢鐵,現在算是回歸正道。她是大學老師的好學生,學霸類型,什么都懂,號稱最強大的開源數據庫。我感覺懂是懂,但真正干起來沒有我靠譜,所以我也就不和她計較了。不過她比我還開放,有很多朋友,近幾年也進步神速,中國還有個openGauss兄弟和她很好,也許會青出于藍勝于藍,我還是要當心點。

輪到我做核酸了,今天就和大家聊到這里啊,下次空了再叨叨。我現在家里地位急待提升啊,如果你在使用MySQL,記得幫我點贊和轉發哈,我家還有幾件珍藏的MySQL練功內衣可以送出。

審核編輯 黃昊宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 數據庫
    +關注

    關注

    7

    文章

    3841

    瀏覽量

    64544
  • MySQL
    +關注

    關注

    1

    文章

    821

    瀏覽量

    26651
收藏 人收藏

    評論

    相關推薦

    適用于MySQL和MariaDB的.NET連接器

    支持 ORM 的適用于 MySQL 和 MariaDB 的 .NET 連接器 dotConnect for MySQL 是一種高性能 ADO.NET 數據提供程序,可在開發 MySQL 的應用程序
    的頭像 發表于 01-16 14:17 ?40次閱讀
    適用于<b class='flag-5'>MySQL</b>和MariaDB的.NET連接器

    MySQL數據庫的安裝

    MySQL數據庫的安裝 【一】各種數據庫的端口 MySQL :3306 Redis :6379 MongoDB :27017 Django :8000 flask :5000 【二】MySQL 介紹
    的頭像 發表于 01-14 11:25 ?79次閱讀
    <b class='flag-5'>MySQL</b>數據庫的安裝

    MySQL還能跟上PostgreSQL的步伐嗎

    Percona 的老板 Peter Zaitsev最近發表一篇博客,討論了MySQL是否還能跟上PostgreSQL的腳步。Percona 作為MySQL 生態扛旗者,Percona 開發了知名
    的頭像 發表于 11-18 10:16 ?241次閱讀
    <b class='flag-5'>MySQL</b>還能跟上PostgreSQL的步伐嗎

    香港云服務器怎么部署MySQL數據庫?

    在香港云服務器上部署MySQL數據庫的步驟如下: 步驟 1: 更新軟件包列表 首先,確保軟件包列表是最新的。在終端中執行以下命令: sudo apt update 步驟 2: 安裝 MySQL
    的頭像 發表于 11-14 16:15 ?203次閱讀

    詳解MySQL多實例部署

    詳解MySQL多實例部署
    的頭像 發表于 11-11 11:10 ?301次閱讀

    MySQL編碼機制原理

    前言 一位讀者在本地部署 MySQL 測試環境時碰到一個問題,我覺得挺有代表性的,所以寫篇文章介紹一下,看完相信你會對 MySQL 的編碼機制有最本質的了解,本文的目錄結構如下 讀者問題簡介
    的頭像 發表于 11-09 11:01 ?264次閱讀

    適用于MySQL的dbForge架構比較

    dbForge Schema Compare for MySQL 是一種工具,用于輕松有效地比較和部署 MySQL 數據庫結構和腳本文件夾差異。該工具提供了 MySQL 數據庫架構中所有差異的全面視圖。
    的頭像 發表于 10-28 09:41 ?231次閱讀
    適用于<b class='flag-5'>MySQL</b>的dbForge架構比較

    配置MySQL主從復制和讀寫分離

    配置MySQL主從復制和讀寫分離
    的頭像 發表于 10-23 11:44 ?518次閱讀
    配置<b class='flag-5'>MySQL</b>主從復制和讀寫分離

    Jtti:MySQL初始化操作如何設置root密碼

    MySQL初始化時,可以通過以下步驟設置root密碼: 打開命令行工具,使用以下命令啟動MySQL服務: ? sudo service mysql start ? 使用以下命令登錄MySQL
    的頭像 發表于 08-08 16:45 ?411次閱讀

    MySQL知識點匯總

    大家好,這部分被稱為DQL部分,是每個學習MySQL必須要學會的部分,下面就讓我來介紹MySQL中的其他部分。
    的頭像 發表于 08-05 15:27 ?423次閱讀
    <b class='flag-5'>MySQL</b>知識點匯總

    華納云:如何修改MySQL的默認端口

    MySQL是世界上最流行的開源關系型數據庫管理系統之一。在某些情況下,由于安全性、網絡策略或端口沖突的原因,數據庫管理員可能需要更改MySQL服務的默認監聽端口。本文將指導您如何在不同的操作系統上
    的頭像 發表于 07-22 14:56 ?337次閱讀
    華納云:如何修改<b class='flag-5'>MySQL</b>的默認端口

    MySQL的整體邏輯架構

    支持多種存儲引擎是眾所周知的MySQL特性,也是MySQL架構的關鍵優勢之一。如果能夠理解MySQL Server與存儲引擎之間是怎樣通過API交互的,將大大有利于理解MySQL的核心
    的頭像 發表于 04-30 11:14 ?474次閱讀
    <b class='flag-5'>MySQL</b>的整體邏輯架構

    MySQL忘記root密碼解決方案

    mysql登錄密碼為password()算法加密,解密成本太高,以下為通用方案; 原理:mysql提供了特殊啟動方式,即跳過權限表驗證,啟動后,登錄不需要提供密碼; 登錄后,即可修改mysql數據庫的user表,重置
    的頭像 發表于 04-23 16:08 ?746次閱讀

    查詢SQL在mysql內部是如何執行?

    我們知道在mySQL客戶端,輸入一條查詢SQL,然后看到返回查詢的結果。這條查詢語句在 MySQL 內部到底是如何執行的呢?本文跟大家探討一下哈,我們先來看下MySQL基本架構~
    的頭像 發表于 01-22 14:53 ?596次閱讀
    查詢SQL在<b class='flag-5'>mysql</b>內部是如何執行?

    阿里二面:了解MySQL事務底層原理嗎

    MySQL 是如何來解決臟寫這種問題的?沒錯,就是鎖。MySQL 在開啟一個事務的時候,他會將某條記錄和事務做一個綁定。這個其實和 JVM 鎖是類似的。
    的頭像 發表于 01-18 16:34 ?355次閱讀
    阿里二面:了解<b class='flag-5'>MySQL</b>事務底層原理嗎
    主站蜘蛛池模板: 免费看特级淫片日本| 日本人色道| 日本不卡一区二区三区在线观看| h在线观看免费| 日韩欧美亚洲一区| 加勒比一区二区三区| 一级一级女人18毛片| 羞羞爱爱| 欧美综合色| 激情五月婷婷在线| freesex欧美| 天堂在线最新版资源www| 美女被日出白浆| www.射| 日韩免费看| 日韩欧美一区二区三区不卡视频| 日韩一级高清| 久久99精品久久久久久久野外 | 哥也操| 天天撸视频| 乱人伦一区二区三区| 成人亚洲网站www在线观看| 国产黄色在线| 嘿嘿嘿视频在线观看网站| 网站毛片| 免费一级毛片无毒不卡| 国产成人免费无庶挡视频| 天天曰天天干| 1024手机看片你懂得的 日韩欧美 1024手机看片欧美日韩 | 樱桃磁力bt天堂| 日本特黄在线观看免费| 国产亚洲婷婷香蕉久久精品| 午夜小片| 午夜视频h| 最新激情网址| 日产乱码免费一卡二卡在线| 狠狠色婷婷丁香综合久久韩国| 午夜一级毛片| 3344在线| 曰本三级香港三级人妇99视频| 日韩免费三级电影|