mysql大資料分表後查詢
阿新 • • 發佈:2018-12-20
當資料量猛增的時候,大家都會選擇庫表雜湊等等方式去優化資料讀寫速度,舉例說明:
1億條資料,分100張表
1.首先建立100張表
i<=99){
echo “$newNumber \r\n”;
i.“(
full_codechar(10) NOT NULL,
create_timeint(10) unsigned NOT NULL, PRIMARY KEY (
2.分表規則:
full_code作為主鍵,對full_code做hash
full_code);
function get_hash_table(code,$s=100){ code)); echo $hash; hash, $s)); return hash1; }
這樣插入資料前通過get_hash_table獲取資料存放的表名。
3.使用merge儲存引擎來實現一張完整的code表
CREATE TABLE IF NOT EXISTS code
(
full_code
char(10) NOT NULL,
create_time
int(10) unsigned NOT NULL,
INDEX(full_code)
) TYPE=MERGE UNION=(code_0,code_1,code_2…) INSERT_METHOD=LAST ;
通過select * from code就可以得到所有的full_code資料了。