免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 15174 | 回复: 24
打印 上一主题 下一主题

一个数据库中20万个表时mysql表现会怎么样? [复制链接]

论坛徽章:
54
2017金鸡报晓
日期:2017-02-08 10:39:42操作系统版块每日发帖之星
日期:2016-03-08 06:20:00操作系统版块每日发帖之星
日期:2016-03-07 06:20:00操作系统版块每日发帖之星
日期:2016-02-22 06:20:00操作系统版块每日发帖之星
日期:2016-01-29 06:20:00操作系统版块每日发帖之星
日期:2016-01-27 06:20:00操作系统版块每日发帖之星
日期:2016-01-20 06:20:00操作系统版块每日发帖之星
日期:2016-01-06 06:20:0015-16赛季CBA联赛之江苏
日期:2015-12-21 20:00:24操作系统版块每日发帖之星
日期:2015-12-21 06:20:00IT运维版块每日发帖之星
日期:2015-11-17 06:20:002015亚冠之广州恒大
日期:2015-11-12 10:58:02
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-02-08 16:23 |只看该作者 |倒序浏览
正在规划一个项目,最终的表数量大约在20W。

每个表都不大,记录数一般也不会太多,最多上千条。

1、如果想跑起来,机器硬件有什么特殊要求吗?Mysql配置上需要做哪些事情?

2、这个系统还有个选择,可以用多数据库,但是每个数据库只能容纳50个表左右,所以这样会分成大约4000个数据库。在执行效率上,是单数据库好一些还是多数据库好一些呢?

--没见过这么大的数据库,各位老大别笑话!


顺便再问一下:mysql支持的表的上限上多少?

[ 本帖最后由 lsstarboy 于 2009-2-8 16:35 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2009-02-08 17:21 |只看该作者
透露一下什么项目,要这么多表?还真没注意MYSQL有没有表的数量限制。要好好规划一下,别inode小于60W就可以了吧。要不你写个循环,建立20万个表

试试!

论坛徽章:
54
2017金鸡报晓
日期:2017-02-08 10:39:42操作系统版块每日发帖之星
日期:2016-03-08 06:20:00操作系统版块每日发帖之星
日期:2016-03-07 06:20:00操作系统版块每日发帖之星
日期:2016-02-22 06:20:00操作系统版块每日发帖之星
日期:2016-01-29 06:20:00操作系统版块每日发帖之星
日期:2016-01-27 06:20:00操作系统版块每日发帖之星
日期:2016-01-20 06:20:00操作系统版块每日发帖之星
日期:2016-01-06 06:20:0015-16赛季CBA联赛之江苏
日期:2015-12-21 20:00:24操作系统版块每日发帖之星
日期:2015-12-21 06:20:00IT运维版块每日发帖之星
日期:2015-11-17 06:20:002015亚冠之广州恒大
日期:2015-11-12 10:58:02
3 [报告]
发表于 2009-02-08 17:35 |只看该作者
没有什么大不了的项目,就是我们学校的课程管理,claroline,这个系统为每个课程建50多个表,如果建设完整,高中阶段要超过3000个课程,虽然也许永远建设不完整,但是规划和设计还是要有的。Moodle也是一个非常优秀的系统,但是它太臃肿。

论坛徽章:
0
4 [报告]
发表于 2009-02-08 21:21 |只看该作者
20W个表,感觉目录索引是个问题

论坛徽章:
0
5 [报告]
发表于 2009-02-09 00:54 |只看该作者
20W个表啊,第一听需要建这么多的表呢,期待测试结果啊。

论坛徽章:
1
白银圣斗士
日期:2015-11-23 08:33:04
6 [报告]
发表于 2009-02-10 09:55 |只看该作者
如果要建这么多表我觉得是设计应该可以更优化。

论坛徽章:
54
2017金鸡报晓
日期:2017-02-08 10:39:42操作系统版块每日发帖之星
日期:2016-03-08 06:20:00操作系统版块每日发帖之星
日期:2016-03-07 06:20:00操作系统版块每日发帖之星
日期:2016-02-22 06:20:00操作系统版块每日发帖之星
日期:2016-01-29 06:20:00操作系统版块每日发帖之星
日期:2016-01-27 06:20:00操作系统版块每日发帖之星
日期:2016-01-20 06:20:00操作系统版块每日发帖之星
日期:2016-01-06 06:20:0015-16赛季CBA联赛之江苏
日期:2015-12-21 20:00:24操作系统版块每日发帖之星
日期:2015-12-21 06:20:00IT运维版块每日发帖之星
日期:2015-11-17 06:20:002015亚冠之广州恒大
日期:2015-11-12 10:58:02
7 [报告]
发表于 2009-02-10 13:56 |只看该作者
原帖由 枫影谁用了 于 2009-2-10 09:55 发表
如果要建这么多表我觉得是设计应该可以更优化。


是啊!我也这么认为,但是开发者说目前还没有优化的计划,主要精力还是干其他方面的改进!

但是我们又没有能力优化,所以只好受这个气了!:wink:

论坛徽章:
1
白银圣斗士
日期:2015-11-23 08:33:04
8 [报告]
发表于 2009-02-10 14:07 |只看该作者
原帖由 lsstarboy 于 2009-2-10 13:56 发表


是啊!我也这么认为,但是开发者说目前还没有优化的计划,主要精力还是干其他方面的改进!

但是我们又没有能力优化,所以只好受这个气了!:wink:


呵呵。。

这个估计目前在这里没有用这么多表的项目了或是经验了。我试下建立二十W个表每表1W数据的结果是啥。。。

论坛徽章:
1
白银圣斗士
日期:2015-11-23 08:33:04
9 [报告]
发表于 2009-02-10 14:35 |只看该作者
#!/usr/bin/perl


# load module

use DBI;
use strict;
use warnings;

my $dbh = DBI->connect("DBI:mysql:database=20w;host=192.168.1.216",
                        "root", '123456', {'RaiseError' => 1});
$dbh->do("SET NAMES UTF8");


my $end_rows = 1;

while ($end_rows < 200000){

        my $sth = $dbh->prepare("CREATE TABLE t_province_ip_$end_rows (
                          province_id INTEGER(11) NOT NULL AUTO_INCREMENT,
                          ip_start VARCHAR(255) COLLATE utf8_general_ci DEFAULT NULL,
                          ip_end VARCHAR(255) COLLATE utf8_general_ci DEFAULT NULL,
                          province_name VARCHAR(255) COLLATE utf8_general_ci DEFAULT NULL,
                          province_name_other VARCHAR(255) COLLATE utf8_general_ci DEFAULT NULL,
                          ;PRIMARY KEY (province_id)

                        ;)ENGINE=INNODB
                        AUTO_INCREMENT=1 CHARACTER SET 'utf8' COLLATE 'utf8_general_ci';"
);
        $sth->execute();
        $dbh->do("insert into t_province_ip_$end_rows
                (ip_start,ip_end,province_name,province_name_other)
        select ip_start,ip_end,province_name,province_name_other from t_province_ip_new  limit 10000"
);
        $end_rows++;


}


用珊瑚的IP库前1W条建了20W个表,在建中,估计要半个小时左右吧。

论坛徽章:
1
白银圣斗士
日期:2015-11-23 08:33:04
10 [报告]
发表于 2009-02-10 16:11 |只看该作者
简单的试了下,用还是可以用的。20W个表,每个表1W数据。

普通PC机,2G内存。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP