1億條數(shù)據(jù)如何分表100張到Mysql數(shù)據(jù)庫中(PHP)
下面通過創(chuàng)建100張表來演示下1億條數(shù)據(jù)的分表過程,具體請看下文代碼。
當數(shù)據(jù)量猛增的時候,大家都會選擇庫表散列等等方式去優(yōu)化數(shù)據(jù)讀寫速度。筆者做了一個簡單的嘗試,1億條數(shù)據(jù),分100張表。具體實現(xiàn)過程如下:
首先創(chuàng)建100張表:
$i=0;
while($i<=99){
echo "$newNumber \r\n";
$sql="CREATE TABLE `code_".$i."` (
`full_code` char(10) NOT NULL,
`create_time` int(10) unsigned NOT NULL,
PRIMARY KEY (`full_code`),
) ENGINE=MyISAM DEFAULT CHARSET=utf8";
mysql_query($sql);
$i++;
下面說一下我的分表規(guī)則,full_code作為主鍵,我們對full_code做hash
函數(shù)如下:
$table_name=get_hash_table('code',$full_code);
function get_hash_table($table,$code,$s=100){
$hash = sprintf("%u", crc32($code));
echo $hash;
$hash1 = intval(fmod($hash, $s));
return $table."_".$hash1;
}
這樣插入數(shù)據(jù)前通過get_hash_table獲取數(shù)據(jù)存放的表名。
最后我們使用merge存儲引擎來實現(xiàn)一張完整的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數(shù)據(jù)了。
以上介紹就是本文的全部內(nèi)容,希望對大家有所幫助。
- mysql數(shù)據(jù)庫分表分庫的策略
- MySQL 5.7雙主同步部分表的實現(xiàn)過程詳解
- MyBatis實現(xiàn)Mysql數(shù)據(jù)庫分庫分表操作和總結(jié)(推薦)
- 什么是分表和分區(qū) MySql數(shù)據(jù)庫分區(qū)和分表方法
- Mysql數(shù)據(jù)庫性能優(yōu)化三(分表、增量備份、還原)
- MYSQL數(shù)據(jù)庫數(shù)據(jù)拆分之分庫分表總結(jié)
- MySQL分表自增ID問題的解決方法
- PHP操作mysql數(shù)據(jù)庫分表的方法
- Mysql數(shù)據(jù)庫分庫和分表方式(常用)
- php實現(xiàn)mysql數(shù)據(jù)庫分表分段備份
- mysql分表和分區(qū)的區(qū)別淺析
- mysql的3種分表方案
- MySQL分表實現(xiàn)上百萬上千萬記錄分布存儲的批量查詢設(shè)計模式詳解
- MYSQL性能優(yōu)化分享(分庫分表)
- 使用MySQL的LAST_INSERT_ID來確定各分表的唯一ID值
- MySQL動態(tài)創(chuàng)建表,數(shù)據(jù)分表的存儲過程
- MySQL 分表優(yōu)化試驗代碼
- mysql分表分庫的應(yīng)用場景和設(shè)計方式
相關(guān)文章
PHP數(shù)據(jù)庫編程之MySQL優(yōu)化策略概述
這篇文章主要介紹了PHP數(shù)據(jù)庫編程之MySQL優(yōu)化策略,簡單講述了mysql優(yōu)化的簡單技巧以及索引優(yōu)化、查詢優(yōu)化、存儲優(yōu)化等相關(guān)操作技巧,需要的朋友可以參考下2017-08-08
PHP創(chuàng)建XML的方法示例【基于DOMDocument類及SimpleXMLElement類】
這篇文章主要介紹了PHP創(chuàng)建XML的方法,結(jié)合實例形式分析了php基于DOMDocument類及SimpleXMLElement類創(chuàng)建xml文件的具體步驟與相關(guān)實現(xiàn)技巧,需要的朋友可以參考下2019-09-09
關(guān)于PHP轉(zhuǎn)換超過2038年日期出錯的問題解決
這篇文章主要給大家介紹了關(guān)于PHP轉(zhuǎn)換超過2038年日期出錯問題的解決方法,文中給出了詳細的解決方法,通過示例代碼讓大家更容易理解和學習,需要的朋友們下面來一起看看吧。2017-06-06
php從數(shù)組中隨機選擇若干不重復(fù)元素的方法
這篇文章主要介紹了php從數(shù)組中隨機選擇若干不重復(fù)元素的方法,涉及php數(shù)組操作的相關(guān)常用技巧,非常具有實用價值,需要的朋友可以參考下2015-03-03

