導航:首頁 > 凈水問答 > php關鍵詞過濾btree

php關鍵詞過濾btree

發布時間:2025-01-28 19:23:43

A. mysql資料庫的優化方法

我們都知道,伺服器資料庫的開發一般都是通過java或者是PHP語言來編程實現的,而為了提高我們資料庫的運行速度和效率,資料庫優化也成為了我們每日的工作重點,今天,昌平IT培訓就一起來了解一下mysql伺服器資料庫的優化方法。



為什麼要了解索引


真實案例


案例一:大學有段時間學習爬蟲,爬取了知乎300w用戶答題數據,存儲到mysql數據中。那時不了解索引,一條簡單的「根據用戶名搜索全部回答的sql「需要執行半分鍾左右,完全滿足不了正常的使用。


案例二:近線上應用的資料庫頻頻出現多條慢sql風險提示,而工作以來,對資料庫優化方面所知甚少。例如一個用戶數據頁面需要執行很多次資料庫查詢,性能很慢,通過增加超時時間勉強可以訪問,但是性能上需要優化。


索引的優點


合適的索引,可以大大減小mysql伺服器掃描的數據量,避免內存排序和臨時表,提高應用程序的查詢性能。


索引的類型


mysql數據中有多種索引類型,primarykey,unique,normal,但底層存儲的數據結構都是BTREE;有些存儲引擎還提供hash索引,全文索引。


BTREE是常見的優化要面對的索引結構,都是基於BTREE的討論。


B-TREE


查詢數據簡單暴力的方式是遍歷所有記錄;如果數據不重復,就可以通過組織成一顆排序二叉樹,通過二分查找演算法來查詢,大大提高查詢性能。而BTREE是一種更強大的排序樹,支持多個分支,高度更低,數據的插入、刪除、更新更快。


現代資料庫的索引文件和文件系統的文件塊都被組織成BTREE。


btree的每個節點都包含有key,data和只想子節點指針。


btree有度的概念d>=1。假設btree的度為d,則每個內部節點可以有n=[d+1,2d+1)個key,n+1個子節點指針。樹的大高度為h=Logb[(N+1)/2]。


索引和文件系統中,B-TREE的節點常設計成接近一個內存頁大小(也是磁碟扇區大小),且樹的度非常大。這樣磁碟I/O的次數,就等於樹的高度h。假設b=100,一百萬個節點的樹,h將只有3層。即,只有3次磁碟I/O就可以查找完畢,性能非常高。


索引查詢


建立索引後,合適的查詢語句才能大發揮索引的優勢。


另外,由於查詢優化器可以解析客戶端的sql語句,會調整sql的查詢語句的條件順序去匹配合適的索引。


閱讀全文

與php關鍵詞過濾btree相關的資料

熱點內容
怎麼投訴亂排污水 瀏覽:61
反滲透和直飲哪個好 瀏覽:808
純凈水怎麼做蛋糕 瀏覽:233
衛生間污水管滴水怎麼辦 瀏覽:66
柯巴樹脂的稀釋 瀏覽:429
農村污水處理應約信建環保專業 瀏覽:852
空氣濾芯上面的插頭是什麼 瀏覽:866
正常100噸自來水可產多少噸純水 瀏覽:579
安吉爾凈水機怎麼調溫度 瀏覽:256
反滲透ro膜多久換 瀏覽:681
凈水壺時間怎麼調 瀏覽:629
車載凈化器怎麼在家裡用 瀏覽:251
純凈水機的原理是什麼 瀏覽:705
凈水器的按鍵功能怎麼用 瀏覽:526
凈水器的ro膜拿不出來怎麼回事 瀏覽:957
藍寶樹脂膠水廠家 瀏覽:811
污水站風機怎麼拆卸 瀏覽:149
聚氨酯漆和樹脂漆的區別 瀏覽:622
上海電鍍混合廢水處理價格如何 瀏覽:465
pcapcompile過濾語句 瀏覽:487