談談mysql分割槽
mysql儲存是以檔案形式儲存在磁碟上的,一張表對應的三個檔案,分別是:frm(frame)存放表結構,myd存放表資料,myi存放表索引
當資料量太大時,myd和myi就會過大,查詢就會變慢,這個時候我們就會用到mysql分割槽功能,將一張表對應的三個分割槽分成許多小塊。
介紹:
@1.mysql5.1以後才支援分割槽功能
@2.分割槽分為:橫向分割槽和縱向分割槽,mysql提供的分割槽是橫向分割槽。(也就是簡單的將資料橫向分為幾個平等的區,例如:100w資料,平等分為10個區,每個區10w)
@3.橫向分割槽的的方式:range分割槽,list分割槽,hash分割槽,key分割槽
range分割槽:這種模式允許將資料劃分不同範圍。例如可以將乙個表通過年份劃分成若干個分割槽
list分割槽: 這種模式允許系統通過預定義的列表的值來對資料進行分割。
hash分割槽: 這中模式允許通過對錶的乙個或多個列的hash key進行計算,最後通過這個hash碼不同數值對應的資料區域進行分割槽。例如可以建立乙個對錶主鍵進行分割槽的表。
key分割槽: 上面hash模式的一種延伸,這裡的hash key是mysql系統產生的。
子分割槽:子分割槽是分割槽表中每個分割槽的再次分割,子分割槽既可以使用hash分割槽,也可以使用key分割槽。這也被稱為復合分割槽(composite partitioning)。
mysql索引簡談
mysql索引簡談 一 什麼是索引 就好比我們在看一本書的時候,有目錄的話,我們可以快速定位到想看的地方,而沒有目錄的話,我們只能一頁一頁地翻。索引就像目錄,有了索引,資料庫可以快速查詢到目標內容,而不必查詢整個資料庫表,但是如果沒有的話,資料庫只能一行一行地遍歷資料。create table t ...
簡談mysql索引之聯合索引
我們程式設計師日常工作中打交道最多的就是聯合索引,基本上索引優化就是優化這一塊。講聯合索引,一定要扯上最左匹配原則。不廢話,直接進入正文。注 本文是在innodb的基礎上討論和實驗的。所謂最左原則指的就是如果你的 sql 語句中用到了聯合索引中的最左邊的索引,那麼這條 sql 語句就可以利用這個聯合...
簡談網路程式設計
網路程式設計的本質是兩個裝置之間的資料交換。乙個裝置中的資料傳送給兩外乙個裝置,然後接受另外乙個裝置反饋的資料。現在的網路程式設計基本上都是基於請求 響應方式的,也就是乙個裝置傳送請求資料給另外乙個,然後接收另乙個裝置的反饋。傳送第一次請求的程式,被稱作客戶端 client 等待其他程式連線的程式被...