真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

關(guān)于MySql知識的詳細介紹

下文主要給大家?guī)黻P(guān)于MySQL知識的詳細介紹,希望這些內(nèi)容能夠帶給大家實際用處,這也是我編輯關(guān)于MySql知識的詳細介紹這篇文章的主要目的。好了,廢話不多說,大家直接看下文吧。

網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)建站!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、小程序制作、集團企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了虎丘免費建站歡迎大家使用!

                                                           關(guān)于MySql知識的詳細介紹

MySQL是一種開放源代碼的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)(RDBMS),使用最常用的數(shù)據(jù)庫管理語言--結(jié)構(gòu)化查詢語言(SQL)進行數(shù)據(jù)庫管理。

MySQL是開放源代碼的,因此任何人都可以在General Public License的許可下下載并根據(jù)個性化的需要對其進行修改。

MySQL因為其速度、可靠性和適應(yīng)性而備受關(guān)注。大多數(shù)人都認為在不需要事務(wù)化處理的情況下,MySQL是管理內(nèi)容最好的選擇。

推薦教程:mysql入門視頻教程

MySQL簡介

MySQL是一種開放源代碼的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)(RDBMS),MySQL數(shù)據(jù)庫系統(tǒng)使用最常用的數(shù)據(jù)庫管理語言--結(jié)構(gòu)化查詢語言(SQL)進行數(shù)據(jù)庫管理。

由于MySQL是開放源代碼的,因此任何人都可以在General Public License的許可下下載并根據(jù)個性化的需要對其進行修改。MySQL因為其速度、可靠性和適應(yīng)性而備受關(guān)注。大多數(shù)人都認為在不需要事務(wù)化處理的情況下,MySQL是管理內(nèi)容最好的選擇。

MySQL這個名字,起源不是很明確。一個比較有影響的說法是,基本指南和大量的庫和工具帶有前綴“my”已經(jīng)有10年以上,而且不管怎樣,MySQL AB創(chuàng)始人之一的Monty Widenius的女兒也叫My。這兩個到底是哪一個給出了MySQL這個名字至今依然是個迷,包括開發(fā)者在內(nèi)也不知道。

MySQL的海豚標志的名字叫“sakila”,它是由MySQL AB的創(chuàng)始人從用戶在“海豚命名”的競賽中建議的大量的名字表中選出的。獲勝的名字是由來自非洲斯威士蘭的開源軟件開發(fā)者Ambrose Twebaze提供。根據(jù)Ambrose所說,Sakila來自一種叫SiSwati的斯威士蘭方言,也是在Ambrose的家鄉(xiāng)烏干達附近的坦桑尼亞的Arusha的一個小鎮(zhèn)的名字。

MySQL,雖然功能未必很強大,但因為它的開源、廣泛傳播,導(dǎo)致很多人都了解到這個數(shù)據(jù)庫。它的歷史也富有傳奇性。

數(shù)據(jù)庫優(yōu)化

選擇InnoDB作為存儲引擎

大型產(chǎn)品的數(shù)據(jù)庫對于可靠性和并發(fā)性的要求較高,InnoDB作為默認的MySQL存儲引擎,相對于MyISAM來說是個更佳的選擇。

優(yōu)化數(shù)據(jù)庫結(jié)構(gòu)

組織數(shù)據(jù)庫的schema、表和字段以降低I/O的開銷,將相關(guān)項保存在一起,并提前規(guī)劃,以便隨著數(shù)據(jù)量的增長,性能可以保持較高的水平。

設(shè)計數(shù)據(jù)表應(yīng)盡量使其占用的空間最小化,表的主鍵應(yīng)盡可能短?!τ贗nnoDB表,主鍵所在的列在每個輔助索引條目中都是可復(fù)制的,因此如果有很多輔助索引,那么一個短的主鍵可以節(jié)省大量空間。

僅創(chuàng)建你需要改進查詢性能的索引。索引有助于檢索,但是會增加插入和更新操作的執(zhí)行時間。

InnoDB的ChangeBuffering特性

InnoDB提供了changebuffering的配置,可減少維護輔助索引所需的磁盤I/O。大規(guī)模的數(shù)據(jù)庫可能會遇到大量的表操作和大量的I/O,以保證輔助索引保持最新。當相關(guān)頁面不在緩沖池里面時,InnoDB的changebuffer將會更改緩存到輔助索引條目,從而避免因不能立即從磁盤讀取頁面而導(dǎo)致耗時的I/O操作。當頁面被加載到緩沖池時,緩沖的更改將被合并,更新的頁面之后會刷新到磁盤。這樣做可提高性能,適用于MySQL5.5及更高版本。

InnoDB頁面壓縮

InnoDB支持對表進行頁面級的壓縮。當寫入數(shù)據(jù)頁的時候,會有特定的壓縮算法對其進行壓縮。壓縮后的數(shù)據(jù)會寫入磁盤,其打孔機制會釋放頁面末尾的空塊。如果壓縮失敗,數(shù)據(jù)會按原樣寫入。表和索引都會被壓縮,因為索引通常是數(shù)據(jù)庫總大小中占比很大的一部分,壓縮可以顯著節(jié)約內(nèi)存,I/O或處理時間,這樣就達到了提高性能和伸縮性的目的。它還可以減少內(nèi)存和磁盤之間傳輸?shù)臄?shù)據(jù)量。MySQL5.1及更高版本支持該功能。

注意,頁面壓縮并不能支持共享表空間中的表。共享表空間包括系統(tǒng)表空間、臨時表空間和常規(guī)表空間。

使用批量數(shù)據(jù)導(dǎo)入

在主鍵上使用已排序的數(shù)據(jù)源進行批量數(shù)據(jù)的導(dǎo)入可加快數(shù)據(jù)插入的過程。否則,可能需要在其他行之間插入行以維護排序,這會導(dǎo)致磁盤I/O變高,進而影響性能,增加頁的拆分。關(guān)閉自動提交的模式也是有好處的,因為它會為每個插入執(zhí)行日志刷新到磁盤。在批量插入期間臨時轉(zhuǎn)移唯一鍵和外鍵檢查也可顯著降低磁盤I/O。對于新建的表,最好的做法是在批量導(dǎo)入后創(chuàng)建外鍵/唯一鍵約束。

一旦你的數(shù)據(jù)達到穩(wěn)定的大小,或者增長的表增加了幾十或幾百兆字節(jié),就應(yīng)該考慮使用OPTIMIZETABLE語句重新組織表并壓縮浪費的空間。對重新組織后的表進行全表掃描所需要的I/O會更少。

優(yōu)化InnoDB磁盤I/O

增加InnoDB緩沖池大小可以讓查詢從緩沖池訪問而不是通過磁盤I/O訪問。通過調(diào)整系統(tǒng)變量innodb_flush_method來調(diào)整清除緩沖的指標使其達到最佳水平。

MySQL的內(nèi)存分配

在為MySQL分配足夠的內(nèi)存之前,請考慮不同領(lǐng)域?qū)ySQL的內(nèi)存需求。要考慮的關(guān)鍵領(lǐng)域是:并發(fā)連接——對于大量并發(fā)連接,排序和臨時表將需要大量內(nèi)存。在撰寫本文時,對于處理3000+并發(fā)連接的數(shù)據(jù)庫,16GB到32GB的RAM是足夠的。

內(nèi)存碎片可以消耗大約10%或更多的內(nèi)存。像innodb_buffer_pool_size、key_buffer_size、query_cache_size等緩存和緩沖區(qū)要消耗大約80%的已分配內(nèi)存。

日常維護

定期檢查慢的查詢?nèi)罩静?yōu)化查詢機制以有效使用緩存來減少磁盤I/O。優(yōu)化它們,以掃描最少的行數(shù),而不是進行全表掃描。

其他可以幫助DBA檢查和分析性能的日志包括:錯誤日志、常規(guī)查詢?nèi)罩?、二進制日志、DDL日志(元數(shù)據(jù)日志)。

定期刷新緩存和緩沖區(qū)以降低碎片化。使用OPTIMIZETABLE語句重新組織表并壓縮任何可能被浪費的空間。 [1]

對于以上關(guān)于MySql知識的詳細介紹,大家是不是覺得非常有幫助。如果需要了解更多內(nèi)容,請繼續(xù)關(guān)注我們的行業(yè)資訊,相信你會喜歡上這些內(nèi)容的。


新聞標題:關(guān)于MySql知識的詳細介紹
文章分享:http://weahome.cn/article/jsoepj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部