導航:首頁 > 凈水問答 > 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相關的資料

熱點內容
污水銅離子測量 瀏覽:138
容聲凈水沒備反滲透冷熱直飲機濾芯 瀏覽:829
pvdf超濾膜與pp哪個好 瀏覽:771
潤滑油濾芯怎麼做 瀏覽:141
純凈水源地為什麼不能設置 瀏覽:505
鹽酸除垢的技術 瀏覽:323
我買到了冒牌沁園凈水器怎麼辦 瀏覽:708
封閉凈水器怎麼清洗視頻 瀏覽:903
施工現場生活區污水處理方案 瀏覽:92
空氣凈化器報告怎麼辦理 瀏覽:889
小米寵物飲水機閃藍燈什麼意思 瀏覽:562
nf納濾凈水機 瀏覽:352
學校污水處理站參觀心得體會 瀏覽:29
排污水泵電機燒毀原因分析 瀏覽:69
怎樣區分蒸餾水和稀氯化鉀 瀏覽:135
雨污水管道怎麼接市政 瀏覽:906
污水處理設備隱患排查 瀏覽:856
博世冰箱過濾器在哪裡 瀏覽:779
用友調賬用紅字沖回嗎 瀏覽:939
生產廢水ph值 瀏覽:720