1亿条数据在PHP中实现Mysql数据库…
来源:互联网 发布:jquery 操作数组对象 编辑:程序博客网 时间:2024/06/04 22:44
当数据量猛增的时候,大家都会选择库表散列等等方式去优化数据读写速度。笔者做了一个简单的尝试,1亿条数据,分100张表。具体实现过程如下。
首先创建100张表:
英文代码
$i=0;
while($i<=99){
echo "$newNumber \r\n";
$sql="CREATE TABLE `code_".$i."` (
) 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));
}
这样插入数据前通过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数据了。
- 1亿条数据在PHP中实现Mysql数据库…
- 1亿条数据在PHP中实现Mysql数据库分表100张
- 1亿条数据如何分表100张到Mysql数据库中(PHP)
- php向mysql数据库中插入数据(单条和多条)
- 如何在bat中实现先后两条mysql命令,运行mysql后导入数据库?
- java 使用jdbc向mysql数据库中插入1亿条数据
- java 使用jdbc向mysql数据库中插入1亿条数据
- php取出mysql数据库中所有数据
- 探讨在1000万条数据的MS SQL SERVER数据库中实现快速的数据提取和数据分页
- 在有着1000万条数据的MS SQL SERVER数据库中实现快速的数据提取和数据分页
- php预处理方式向mysql中插入多条数据
- php在mysql中创建数据库
- 在PHP脚本中操作MYSQL数据库
- PHP中在数据库中保存Checkbox数据(1)
- php在mysql中随机插入数据
- mysql统计数据库中有多少条数据
- 算法,PHP取数据库中百万条数据中随机20条记录
- 在MYSQL中如何查看第N条数据
- 15个非常漂亮的ajax弹窗效果 针对L…
- MySQL数据库分表的3种方法
- PHP根据IP跳转不同城市代码
- 【技术类】【栅格那点儿事(四B)】多波段栅格数据的显示
- 什么是数据库分表技术
- 1亿条数据在PHP中实现Mysql数据库…
- PHP + MySQL 分表减低数据库压力
- 数据库水平切分的实现原理解析-分…
- 如何在node节点的评论下面添加想要…
- drupal函数hook_nodeapi的一次深入…
- drupal中创建一个hook_user,并且…
- drupal文章里添加阅读次数
- 数据库索引技术—------索引介绍
- the requested operation has failed, Cannot load /php5apache2.dll into server