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

 更新时间:2015年07月29日 16:52:26   作者:kbeer  
这篇文章主要介绍了当数据量猛增的时候如何把一亿条数据分表100张到Mysql数据库中,需要的朋友可以参考下

下面通过创建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中去除所有js,html,css代码

    php中去除所有js,html,css代码

    php中去除所有js,html,css代码,方便php的小偷采集程序的制作。
    2010-10-10
  • PHP实现多维数组多字段自定义排序

    PHP实现多维数组多字段自定义排序

    这篇文章主要介绍了PHP实现多维数组多字段自定义排序,通过将待排序数组的各个数组的$field保存在一维数组fieldArr中,在传入array_multisort中参与排序,相当于对$field一维数组的排序,而后根据排序后的key重新构建传入的待排序数组,需要的朋友可以参考下
    2023-10-10
  • PHP实现数组根据某个单元字段排序操作示例

    PHP实现数组根据某个单元字段排序操作示例

    这篇文章主要介绍了PHP实现数组根据某个单元字段排序操作,结合实例形式分析了php基于array_multisort函数降序排序操作相关实现技巧,需要的朋友可以参考下
    2018-08-08
  • 整理php防注入和XSS攻击通用过滤

    整理php防注入和XSS攻击通用过滤

    现在很多网站都存在跨站脚本攻击漏洞,让黑客有机可乘.跨站攻击很容易就可以构造,而且非常隐蔽,不易被查觉(通常盗取信息后马上跳转回原页面)。如何攻击,在此不作介绍,主要谈谈如何防范。
    2015-09-09
  • PHP 转义使用详解

    PHP 转义使用详解

    以下是对PHP转义的是应用进行了详细的分析介绍,需要的朋友可以参考下
    2013-07-07
  • 如何解决CI框架的Disallowed Key Characters错误提示

    如何解决CI框架的Disallowed Key Characters错误提示

    本篇文章是对解决CodeIgniter框架应用中,出现Disallowed Key Characters错误提示的方法,进行了详细的分析介绍,需要的朋友可以参考下
    2013-07-07
  • php版微信公众平台回复中文出现乱码问题的解决方法

    php版微信公众平台回复中文出现乱码问题的解决方法

    这篇文章主要介绍了php版微信公众平台回复中文出现乱码问题的解决方法,涉及php字符串编码转换的相关操作技巧,需要的朋友可以参考下
    2016-09-09
  • php实现获取文章内容第一张图片的方法

    php实现获取文章内容第一张图片的方法

    这篇文章主要介绍了php实现获取文章内容第一张图片的方法,涉及对正则表达式的操作,非常具有实用价值,需要的朋友可以参考下
    2014-11-11
  • 微信公众号开发之微信公共平台消息回复类实例

    微信公众号开发之微信公共平台消息回复类实例

    这篇文章主要介绍了微信公众号开发之微信公共平台消息回复类,给出了其完整实例,并附有注释说明便于理解与运用,对于微信公众号的开发来说非常具有参考借鉴价值,需要的朋友可以参考下
    2014-11-11
  • 详解PHP使用OSS上传文件

    详解PHP使用OSS上传文件

    这篇文章主要介绍了PHP使用OSS上传文件,对OSS感兴趣的同学,可以参考并且实验一下
    2021-04-04

最新评论