mysql分割槽表概述
我們經常遇到一張表裡面儲存了上億甚至過十億的記錄,這些表裡面儲存了大量的歷史記錄。 對於這些歷史資料的清理是乙個非常頭疼事情,由於所有的資料都乙個普通的表裡。所以只能是啟用乙個或多個帶where條件的delete語句去刪除(一般where條件是時間)。 這對資料庫的造成了很大壓力。即使我們把這些刪除了,但底層的資料檔案並沒有變小。面對這類問題,最有效的方法就是在使用分割槽表。最常見的分割槽方法就是按照時間進行分割槽。
分割槽乙個最大的優點就是可以非常高效的進行歷史資料的清理。
1. 確認mysql伺服器是否支援分割槽表
命令:show plugins;
2. mysql分割槽表的特點
在邏輯上為乙個表,在物理上儲存在多個檔案中
hash分割槽(hash)
hash分割槽的特點
根據mod(分割槽鍵,分割槽數)的值把資料行儲存到表的不同分割槽中
資料可以平均的分布在各個分割槽中
hash分割槽的鍵值必須是乙個int型別的值,或是通過函式可以轉為int型別
如何建立hash分割槽表
以int型別字段 customer_id為分割槽鍵
create table `customer_login_log` (
`customer_id` int(10) unsigned not null comment '登入使用者id',
`login_time` timestamp
MySQL分割槽表
分割槽表是一種粗粒度,簡易的索引策略,適用於大資料的過濾場景.最適合的場景是,沒有合適的索引時,對其中幾個分割槽表進行全表掃瞄.或者只有乙個分割槽表和索引是熱點,而且這個分割槽和索引能夠全部儲存在記憶體中.限制單錶分割槽數不要超過150個,並且注意某些導致無法做分割槽過濾的細節,分割槽表對於單條記錄...
mysql分割槽表
對使用者來說,分割槽表是乙個獨立的邏輯表,但是底層由多個物理子表組成。實現分割槽的 實際上是對一組底層表的控制代碼物件的封裝。mysql在建立表時使用partition by子句定義每個分割槽存放的資料。在執行查詢的時候,優化器會根據分割槽定義過濾那些沒有我們需要資料的分割槽,這樣查詢就無須掃瞄所有...
MySQL分割槽表 hash分割槽
雜湊分割槽最主要的用法是用來保證資料的平均分布。使用範圍分割槽和列表分割槽時必須顯示地定義分割槽值或者值列表 但是使用雜湊分割槽時,我們只需要對列值或者基於列值的表示式進行雜湊運算,就可以進行分割槽了。在進行雜湊分割槽是,我們需要在create table語句後加上partition by hash...