基于給定的分區(qū)個數,將數據分配到不同的分區(qū),HASH分區(qū)只能針對整數進行HASH,對于非整形的字段只能通過表達式將其轉換成整數。表達式可以是mysql中任意有效的函數或者表達式,對于非整形的HASH往表插入數據的過程中會多一步表達式的計算操作,所以不建議使用復雜的表達式這樣會影響性能。
MYSQL支持兩種HASH分區(qū),常規(guī)HASH(HASH)和線性HASH(LINEAR HASH) 。
一、常規(guī)HASH
常規(guī)hash是基于分區(qū)個數的取模(%)運算。根據余數插入到指定的分區(qū)
CREATE TABLE tbhash ( id INT NOT NULL, store_id INT ) PARTITION BY HASH(store_id) PARTITIONS 4 ;