中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

mysql該怎么學

發布時間:2021-12-04 14:31:09 來源:億速云 閱讀:142 作者:iii 欄目:大數據

這篇文章主要講解了“mysql該怎么學”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“mysql該怎么學”吧!

MySQL24種系統特性

1.使用 C和C++編寫,并使用了多種編譯器進行測試,保證了源代碼的可移植性。

2.支持AIX、FreeBSD、HP-UX、Linux、Mac OS、NovellNetware、OpenBSD、OS/2 Wrap、Solaris、Windows等多種操作系統。

3.為多種編程語言提供了API。這些編程語言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby,.NET和 Tcl 等。

4.支持多線程,充分利用 CPU 資源。

5.優化的SQL查詢算法,有效地提高查詢速度。

6.既能夠作為一個單獨的應用程序應用在客戶端服務器網絡環境中,也能夠作為一個庫而嵌入到其他的軟件中。

7.提供多語言支持,常見的編碼如中文的GB 2312、BIG5,日文的Shift_JIS等都可以用作數據表名和數據列名。

8.提供TCP/IP、ODBC 和JDBC等多種數據庫連接途徑。

9.提供用于管理、檢查、優化數據庫操作的管理工具。

10.支持大型的數據庫。可以處理擁有上千萬條記錄的大型數據庫。

11.支持多種存儲引擎。

12.MySQL 是開源的,所以你不需要支付額外的費用。

13.MySQL 使用標準的SQL數據語言形式。

14.MySQL 對 PHP 有很好的支持,PHP是比較流行的 Web 開發語言。

15.MySQL是可以定制的,采用了GPL協議,你可以修改源碼來開發自己的 MySQL 系統。

16.在線 DDL/更改功能,數據架構支持動態應用程序和開發人員靈活性(5.6新增)

17.復制全局事務標識,可支持自我修復式集群(5.6新增)

18.復制無崩潰從機,可提高可用性(5.6新增)

19.復制多線程從機,可提高性能(5.6新增)

20.3倍更快的性能(5.7[7]新增)

21.新的優化器(5.7新增)

22.原生JSON支持(5.7新增)

23.多源復制(5.7新增)

24.GIS的空間擴展[8](5.7新增)

好噠,那知道了這些之后,我們接下來看調優,這也是在面試的過程中被經常問到的一些問題,而且隨著互聯網的發展,數據量的增大,不想引入大數據體系的,那只能在數據庫上下功夫了,那么對于數據庫的調優,不知道各位覺得難?其實真的不難,不信,看下面

MySQL調優思維導圖

mysql該怎么學

看到這張思維導圖,從上往下,不知道在看這篇文章的你有沒有回想一下自己的知識體系中,這些方面是不是很清晰呢?

好,看完這句話,我的重點要來了,你在回想這些知識點的時候,是不是對你的知識點進行了一個回顧和梳理,查漏補缺,你也知道了自己知識點上的不足,是不是可以有針對性的進行學習呢

我們以分庫和分表為例去進行一個商討

分庫分表

1、水平分庫

mysql該怎么學

概念:以字段為依據,按照一定策略(hash、range等),將一個庫中的數據拆分到多個庫中。

結果:

  • 每個庫的結構都一樣;

  • 每個庫的數據都不一樣,沒有交集;

  • 所有庫的并集是全量數據;

場景:系統絕對并發量上來了,分表難以根本上解決問題,并且還沒有明顯的業務歸屬來垂直分庫。

分析:庫多了,io和cpu的壓力自然可以成倍緩解。

2、水平分表

mysql該怎么學

概念:以字段為依據,按照一定策略(hash、range等),將一個表中的數據拆分到多個表中。

結果:

  • 每個表的結構都一樣;

  • 每個表的數據都不一樣,沒有交集;

  • 所有表的并集是全量數據;

場景:系統絕對并發量并沒有上來,只是單表的數據量太多,影響了SQL效率,加重了CPU負擔,以至于成為瓶頸。推薦:一次SQL查詢優化原理分析

分析:表的數據量少了,單次SQL執行效率高,自然減輕了CPU的負擔。

3、垂直分庫

mysql該怎么學

概念:以表為依據,按照業務歸屬不同,將不同的表拆分到不同的庫中。

結果:

  • 每個庫的結構都不一樣;

  • 每個庫的數據也不一樣,沒有交集;

  • 所有庫的并集是全量數據;

場景:系統絕對并發量上來了,并且可以抽象出單獨的業務模塊。

分析:到這一步,基本上就可以服務化了。例如,隨著業務的發展一些公用的配置表、字典表等越來越多,這時可以將這些表拆到單獨的庫中,甚至可以服務化。再有,隨著業務的發展孵化出了一套業務模式,這時可以將相關的表拆到單獨的庫中,甚至可以服務化。

4、垂直分表

mysql該怎么學

概念:以字段為依據,按照字段的活躍性,將表中字段拆到不同的表(主表和擴展表)中。

結果:

  • 每個表的結構都不一樣;

  • 每個表的數據也不一樣,一般來說,每個表的字段至少有一列交集,一般是主鍵,用于關聯數據;

  • 所有表的并集是全量數據;

場景:系統絕對并發量并沒有上來,表的記錄并不多,但是字段多,并且熱點數據和非熱點數據在一起,單行數據所需的存儲空間較大。以至于數據庫緩存的數據行減少,查詢時會去讀磁盤數據產生大量的隨機讀IO,產生IO瓶頸。

分析:可以用列表頁和詳情頁來幫助理解。垂直分表的拆分原則是將熱點數據(可能會冗余經常一起查詢的數據)放在一起作為主表,非熱點數據放在一起作為擴展表。這樣更多的熱點數據就能被緩存下來,進而減少了隨機讀IO。拆了之后,要想獲得全部數據就需要關聯兩個表來取數據。

但記住,千萬別用join,因為join不僅會增加CPU負擔并且會兩個表耦合在一起(必須在一個數據庫實例上)。關聯數據,應該在業務Service層做文章,分別獲取主表和擴展表數據然后用關聯字段關聯得到全部數據。

好了,到這里,分庫和分表的操作基本就完成了,不知道大家有沒有什么感覺,如果知識只是單純的去看這些知識點,你能記住多久呢?反正如果我長時間不看,就忘了,,但是我不慫 啊,因為我有這張圖,而且比展示出來的更加詳細,所以當我需要用到時候就可以看了,直接就可以拿出來看,哪怕只有10分鐘就夠了。

感謝各位的閱讀,以上就是“mysql該怎么學”的內容了,經過本文的學習后,相信大家對mysql該怎么學這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

澳门| 南宁市| 南投县| 崇阳县| 佛坪县| 正安县| 华阴市| 崇仁县| 呼和浩特市| 五寨县| 和政县| 昆山市| 米林县| 松江区| 麻城市| 工布江达县| 漳州市| 开江县| 苍溪县| 红桥区| 睢宁县| 阿荣旗| 东海县| 涡阳县| 林甸县| 宁陵县| 阳新县| 安远县| 宁波市| 平湖市| 南昌县| 元江| 铜梁县| 九江县| 方山县| 西乌| 石阡县| 苍南县| 新竹县| 六安市| 广西|