
正文
php亿级数据分表查询 php处理10万级数据
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
1亿条数据如何分表100张到Mysql数据库中(PHP)
下面通过创建100张表来演示下1亿条数据php亿级数据分表查询的分表过程php亿级数据分表查询,具体请看下文代码。
当数据量猛增的时候php亿级数据分表查询,大家都会选择库表散列等等方式去优化数据读写速度。笔者做php亿级数据分表查询了一个简单的尝试,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数据了。
以上介绍就是本文的全部内容,希望对大家有所帮助。
相关问答
Q1: 表中有1亿条数据,怎么查询最快
我有几个解决问题的思路,一般我都是这么用的,1亿条不算很多
-------------------------华丽丽的分割线---------------------------------
如果是Oracle数据库的话,首先我们可以将表改成分区表,配合建立分区索引,效率是非常的快的,如果将普通表改成分区表,用Oracle的在线重定义包 dbms_redefinition就可以实现
同样,如果这个表一般不插入数据的话,只供查询的话,我们还可以将表压缩,改成收缩表
压缩后插入效率很低,不过查询效率很高
如果是其他的数据库的话,如sybase的话,只能定义一些索引了,并且索引要放在不同的segment里面,防止查询的时候I/O争用的情况出现,降低查询效果
总的来说,1亿条数据不多,还是比较好处理的,我这边的表多大几十亿都照样查询
还有要提醒的是,一个表的数据,我们不能让它一直增加,要对表做一下数据迁移的策略,比如定时将表的数据迁到其他的历史表里面去。如果本身就是历史表的话就当我没说哦,呵呵
Q2: php+mysql可以处理亿级的数据吗
理论上是可以php亿级数据分表查询的php亿级数据分表查询,但效率上就有问题php亿级数据分表查询了php亿级数据分表查询,这么大量php亿级数据分表查询的数据一般不会放一张表里面,都会考虑分表,然后考虑索引、数据库主从、服务器配置等,提高查询效率php+mysql可以处理亿级的数据吗
Q3: PHP mysql该怎样分表实现 详细�0�3
编译时php亿级数据分表查询,只要使用 --with-mysql[=DIR] 配置选项即可php亿级数据分表查询,其中可选的 [DIR] 指向 MySQL 的安装目录。虽然本 MySQL 扩展库兼容 MySQL 4.1.0 及其以后版本,但是它不支持这些版本提供的额外功能。要使用这些功能,请使用 MySQLi 扩展库。专职优化、域名注册、网站空间、虚拟主机、服务器托管、MySQL 数据库、vps 主机、服务器租用的中国信息港在这里为php亿级数据分表查询你详细介绍php亿级数据分表查询! PHP mysql 分表实现 当数据量猛增的时候,我们都会选择库表散列等等方式去优化数据读写速度。 专门做了一个简单的尝试,1 亿条数据,分100 张表。具体实现过程如下。 首先创建100 张表: $i=0; while($i
Q4: 处理亿级数据,分表存储,查询时如何统一查的策略,谢谢!
实时查询?这个和你的查询需求有关。一般使用HBase来实现,通过合理的设计RowKey来实时的响应查询需求。
php亿级数据分表查询的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于php处理10万级数据、php亿级数据分表查询的信息别忘了在本站进行查找喔。







