1亿条数据如何分表100张到Mysql数据库中(PHP)


Posted in PHP onJuly 29, 2015

下面通过创建100张表来演示下1亿条数据的分表过程,具体请看下文代码。

当数据量猛增的时候,大家都会选择库表散列等等方式去优化数据读写速度。笔者做了一个简单的尝试,1亿条数据,分100张表。具体实现过程如下:

首先创建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++;

下面说一下我的分表规则,full_code作为主键,我们对full_code做hash

函数如下:

$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;
}

这样插入数据前通过get_hash_table获取数据存放的表名。

最后我们使用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数据了。

以上介绍就是本文的全部内容,希望对大家有所帮助。

PHP 相关文章推荐
php读取msn上的用户信息类
Dec 05 PHP
php利用scws实现mysql全文搜索功能的方法
Dec 25 PHP
php采集自中央气象台范围覆盖全国的天气预报代码实例
Jan 04 PHP
php从csv文件读取数据并输出到网页的方法
Mar 14 PHP
PHP MPDF中文乱码的解决方式
Dec 08 PHP
thinkphp3.x连接mysql数据库的方法(具体操作步骤)
May 19 PHP
简单实现PHP留言板功能
Dec 21 PHP
php使用curl代理实现抓取数据的方法
Feb 03 PHP
PHP在linux上执行外部命令的方法
Feb 06 PHP
Laravel5.5以下版本中如何自定义日志行为详解
Aug 01 PHP
php-fpm.conf配置文件中文说明详解及重要参数说明
Oct 10 PHP
PHP常用函数之获取汉字首字母功能示例
Oct 21 PHP
php实现仿写CodeIgniter的购物车类
Jul 29 #PHP
PHP使用逆波兰式计算工资的方法
Jul 29 #PHP
ThinkPHP实现递归无级分类――代码少
Jul 29 #PHP
PHP之正则表达式捕获组与非捕获组(详解)
Jul 29 #PHP
PHP实现的简单缓存类
Jul 29 #PHP
PHP实现简单爬虫的方法
Jul 29 #PHP
php获取网站百度快照日期的方法
Jul 29 #PHP
You might like
php预定义常量
2006/12/25 PHP
php中截取中文字符串的代码小结
2011/07/17 PHP
删除PHP数组中的重复元素的实现代码
2017/04/10 PHP
采用CSS和JS,刚好我最近有个站点要用到下拉菜单!
2006/06/26 Javascript
JavaScript多线程的实现方法
2007/05/08 Javascript
js读取被点击次数的简单实例(从数据库中读取)
2014/03/07 Javascript
escape编码与unescape解码汉字出现乱码的解决方法
2014/07/02 Javascript
js中使用replace方法完成某个字符的转换
2014/08/20 Javascript
jQuery实现伸展与合拢panel的方法
2015/04/30 Javascript
DWR中各种java方法的调用
2016/05/04 Javascript
基于jQuery实现多标签页切换的效果(web前端开发)
2016/07/24 Javascript
AngularJS ng-bind 指令简单实现
2016/07/30 Javascript
原生js实现可爱糖果数字时间特效
2016/12/30 Javascript
原生js轮播(仿慕课网)
2017/02/15 Javascript
Node.js操作redis实现添加查询功能
2017/05/25 Javascript
NodeJS父进程与子进程资源共享原理与实现方法
2018/03/16 NodeJs
详解Angular中实现自定义组件的双向绑定的两种方法
2018/11/23 Javascript
利用Electron简单撸一个Markdown编辑器的方法
2019/06/10 Javascript
Vue 自定义标签的src属性不能使用相对路径的解决
2019/09/17 Javascript
JavaScript 函数用法详解【函数定义、参数、绑定、作用域、闭包等】
2020/05/12 Javascript
Python中使用ElementTree解析XML示例
2015/06/02 Python
python实现的希尔排序算法实例
2015/07/01 Python
Python使用win32 COM实现Excel的写入与保存功能示例
2018/05/03 Python
python 遍历列表提取下标和值的实例
2018/12/25 Python
python匿名函数用法实例分析
2019/08/03 Python
pytorch torch.expand和torch.repeat的区别详解
2019/11/05 Python
css3实现文字首尾衔接跑马灯的示例代码
2020/10/16 HTML / CSS
英国儿童家具专卖店:GLTC
2016/09/24 全球购物
实习评语大全
2014/04/26 职场文书
数学教研活动总结
2014/07/02 职场文书
幼儿园六一活动总结
2014/08/27 职场文书
2014年学校体育工作总结
2014/12/08 职场文书
2015年班组建设工作总结
2015/05/13 职场文书
中学教师读书笔记
2015/07/01 职场文书
给校长的建议书范文
2015/09/14 职场文书
Python基础之操作MySQL数据库
2021/05/06 Python