




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
2019/9/7 2019/9/72、MySQLB二查詢性能優(yōu)化1Explain如何做MySQL的性能優(yōu)化?三引四數(shù)據(jù)類型3、 策六MyISAM和InnoDB引擎使用的鎖InnoDB引擎的鎖的算法有三種1、SQL語句的執(zhí)行順序3、MySQLCPU500%十、SQL語句 1、BBTree指的是BalanceTree,也就是平衡樹。平衡樹是一顆查找樹,并且所有葉子節(jié)B+樹是基于B樹和葉子節(jié)點順序指針進行實現(xiàn),它具有B樹的平衡性,并且通在B+樹中,一個節(jié)點中的key從左到右非遞減排列,如果某個指針的左右相鄰keykeyikeyi+1nullkeykeyi于等于keyi+1。進行查找操作時,首先在根節(jié)點進行二分查找,找到一個 所在的指針,然后遞歸keydata、刪除操作會破壞平衡樹的平衡性,因此在刪除操作之后,需要對樹進行一BhO(h)=O(logdNd樹的出度為2,而B+Tree的出度一般都非常大,所以樹的樹高h很明顯B+Tree大非常多,查找的次數(shù)也就為了減少磁盤I/O操作,磁盤往往不是嚴格按需,而是每次都會預讀。預讀過程為單位交換數(shù)據(jù)。數(shù)據(jù)庫系統(tǒng)將索引的一個節(jié)點的大小設(shè)置為頁的大小,使得一次I/O就BInDB的+adataB+TreeKey其data域的值,然后以data域的值為地址相應(yīng)的數(shù)據(jù)記錄。這被稱為“非聚InnoDB:其數(shù)據(jù)文件本身就是索引文件。相比MyISAM的索引文件和數(shù)據(jù)文件是分離的,其表數(shù)據(jù)文件本身就是按B+Tree組織的一個索引結(jié)構(gòu),樹的葉節(jié)點data域保存了完整的數(shù)據(jù)記錄。這個索引的key是數(shù)據(jù)表的主鍵,因此InnoDB表數(shù)據(jù)文助索引,輔助索引的data域相應(yīng)記錄主鍵的值而不是地址,這也是和MyISAM不同的地方。在根據(jù)主索引搜索時,直接找到key所在的節(jié)點即可取出數(shù)據(jù);在根InnoDB引擎有一個特殊的功能叫“自適應(yīng)哈希索引”,當某個索引值被使用的BB+TreeMATCHAGAINSTWHEREInnoDB引擎在MySQL5.6.4版本中也開始支持全文索引2.4.MyISAM引擎支持空間數(shù)據(jù)索引(R-Tree),可以用于地理數(shù)據(jù)??臻g數(shù)據(jù)必須使用GIS相關(guān)的函數(shù)來數(shù)據(jù)actor_idfilm_idWHEREactor_id=1ANDfilm_id=1;1,此時每個記錄FROMBLOB、TEXTVARCHAR—些引擎(例如 MyISAM)在內(nèi)存中只緩存索引,而數(shù)據(jù)依賴于操作系統(tǒng)來緩 2、幫助服務(wù)器避免進行排序和分組,以及避免創(chuàng)建臨時表(BORDERBYGROUPBYSQLSELECTSELECT*FROM`houdunwang`WHERE`uname`LIKE走索SELECT*FROM`houdunwang`WHERE`uname`LIKE不走索EXPLAINSELECT*FROM`a`WHERE`a`="1"走索同樣也是使用了函數(shù)運 7、MySQL優(yōu)化器會對SQL語句進行優(yōu)化,如果優(yōu)化器估計使用全表掃描要比使用二查詢性能優(yōu)1ExplainMySQLSQL2、type:類型【 查詢優(yōu)化的一個重要指標】結(jié)果值從好到壞依次是system>const>eq_ref>ref>fulltext>ref_or_null>index_merge>unique_subquery>index_subquery>range>index>ALLsystem:表只有一行記錄(等于系統(tǒng)表),這是const類型的特例,平時不會出constconstprimarykeyuniquewheremysql該查詢轉(zhuǎn)換為一個const;鍵或唯一索引掃描;range:只檢索給定范圍的行,使用一個索引來選擇行。key列顯示使用了那個索indexFullIndexScan,indexALLindexALL快,應(yīng)為索引文件通常比數(shù)據(jù)文件小。(index與ALL雖然都是讀全表,但index是從索引中,而ALL是從硬盤)ALL:FullTableScan3、key:使用的索引,如果為NULL,則沒有使用索引;4、 掃描的行數(shù)Explain命令詳解 1SELECT*do{LIMIT10000")以讓MySQL按照ID順序進行查詢,這可能比隨機的連接要更高效。SELECTSELECT*FROMJOINpostONtag_post.post_id=post.idWHEREtag.tag='mysql';SELECTSELECT*FROMtagWHEREtag='mysql';MySQL問題排查都有哪些2explainSQLMySQL2select*三引實現(xiàn)了四個標準的級別,默認級別是:可重復讀(REPEATABLEREAD)。在可(CONCURRENTINSERT)。2、并發(fā):MyISAMInnoDB5、恢復:MyISAM后發(fā)生損壞的概率比InnoDB高很多,而且恢復的速度也更2selectcount*據(jù)類TINYINTSMALLINTMEDIUMINTINTBIGINT81624,32,64FLOATDOUBLEDECIMALCPU運算,但是不支持DECIMAl類型的計算,因此DECIMAL的計算比浮點類型需要更高的FLOAT、DOUBLEDECIMALDECIMAL(18,918位,取9位小數(shù)部分,剩下9位整數(shù)部分CHARVARCHARVARRUPDATE 時可能會使行變得比原來長,當超出一個頁所能容納的大小時,就要執(zhí)行額外的操作。IAM會將行成不同片段,而InoDB需來行進內(nèi)在進行和檢索時,會保留VARCHAR末尾的空格,而會刪除CHAR末尾的varchar(505050,varchar(50varchar(200)o所占空間一樣,但后者在排序時會消耗內(nèi)存,因為orderbycol采用fixed_length計算col長度。MySQLDATETIMETIMESTAMP能夠保存從1001年到9999年的日期和時間,精度為秒,使用8字節(jié)的空間。默認情況下,MySQLDATETIME如“2008-01-1622:37:08ANSI和UNIX時間戳相同,保存從1970年1月1日午夜(時間)以來的秒數(shù),使用4個字節(jié),只能表示從1970年到2038年。UNIX_TIMESTAMPUNIX水平切分又稱為Sharding,它是將同一個表中的記錄拆分到多個結(jié)構(gòu)相同的表中。 XAID使用全局唯—分布式ID( 的Snowflake算法六主要涉及三個線程:binlogI/OSQLSQL線程:負責重放日志并重放其中的SQL語句七、事
2、一致性 執(zhí)行事務(wù)前后,數(shù)據(jù)庫從一個一致性狀態(tài)轉(zhuǎn)換到另一個一致性狀態(tài)3、性: 并發(fā)數(shù)據(jù)庫時,一個用戶的事物不被其他干擾,各并發(fā)事務(wù)之間4、持久性: 一個事務(wù)被提交之后。它對數(shù)據(jù)庫中數(shù)據(jù)的改變是持久的,即使數(shù)據(jù)庫 MITTED(未提交讀):最低的級別,允許尚未提交的數(shù)據(jù)變 MITTED(提交讀):允許并發(fā)事務(wù)已經(jīng)提交的數(shù)據(jù),可以臟據(jù)是被本身事務(wù)自己所修改,可以臟讀和不可重復讀,但幻讀仍有可能發(fā)生。入記錄A,此時該事務(wù)還未提交,然后另一個事務(wù)嘗試到了記錄A。不可重復 :是指在一個事務(wù)內(nèi),多次讀同一數(shù)據(jù)幻讀:指同一個事務(wù)內(nèi)多次查詢返回的結(jié)果集不一樣。比如同一個事務(wù)Ann+1默認采用的REPEATABLE_READ級別Oracle默認采用 MITTED 所謂的MVCC(Multi-VersionConcurrencyControl,多版本并發(fā)控制)指的就是在使用READCOMMITTD、REPEATABLEREAD這兩種級別的事務(wù)在執(zhí)行普通的SEELCT操作時記錄的版本鏈的過程,這樣子可以使不同事務(wù)的讀-寫、寫-讀操作并發(fā)READCOMMITTD、REPEATABLEREAD這兩個級別的一個很大不同就是生成ReadViewREADCOMMITTDSELECT一個ReadView,而REPEATABLEREAD只在第一次進行普通SELECT操作前生成一個ReadView,之后的查詢操作都重復這個ReadView就好了。八、鎖MyISAMtable-levellocking度最低,MyISAMInnoDB行級鎖:L的一種鎖,只針對當前操作的行進行加鎖。行級鎖能大大減少據(jù)庫操的其加鎖度最小并度高,但鎖的開也最大加鎖將使用表鎖2、在你增刪改查時,匹配的條件字段不帶有索引時,InnoDBselect命令時觸發(fā)讀鎖,什么時候觸發(fā)寫鎖,就是在你使用update、de
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2020-2021學年湖南省五市十校教研教改共同體高一下學期期末考試地理試題
- 小學五年級數(shù)學小數(shù)乘除法計算練習題-集
- 《急性咽炎》課件
- 小學數(shù)學四年級上冊《小數(shù)加減混合運算》教學設(shè)計
- 《行政法講義》課件
- 《菱鎂礦開采工藝》課件
- 護欄工程勞務(wù)作業(yè)內(nèi)容及技術(shù)參數(shù)
- 《刑法分則的適用》課件
- 高校美術(shù)教育實踐經(jīng)驗總結(jié)計劃
- 小學班主任工作經(jīng)歷總結(jié)
- 2025年中小學春節(jié)安全教育主題班會課件
- 醫(yī)院消防安全知識培訓課件
- 抽獎券模板(可修改)
- 高壓蒸汽滅菌效果監(jiān)測記錄簿表(完整版)
- 人教版物理八年級上冊全冊知識點總結(jié)
- 編織密度自動計算
- 硝酸及液體硝酸銨生產(chǎn)行業(yè)風險分級管控體系實施指南
- 瑤醫(yī)目診圖-望面診病圖解-目診
- 染色體標本的制作及組型觀察
- 導游實務(wù)課件
- 藝術(shù)類核心期刊目錄
評論
0/150
提交評論