免费注册 查看新帖 |

Chinaunix

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

业余研究学习,亿级别数量的mysql库设计! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-07-10 04:02 |只看该作者 |倒序浏览
本帖最后由 无名分的浪漫 于 2010-08-01 18:11 编辑

应用上好比是要统计国内外域名数量信息

.com .net  .cn .cc 等等等,如果统计下来基本上也有一亿往上了

需求方面

用户查询域名后列出域名网站信息,

当然网站信息是在不断变化的, 比如chinaunix.net的域名,域名所有人联系方式, 以及域名网站名称,服务器ip, 服务器环境信息,百度收录页数,一周新收录页数等等  可能随时间变化而变,

所以 当两个用户查询同一个域名 相隔时间超过 一定情况下,则用php查出最新域名网站信息, 写入数据库  不超出的情况下,则直接读取数据库内容

基本上上需求是一个写入还有读取的功能



我的想法是按域名第一个字母  abcdefg 26个字母加10个数字   总共36 个表

这样算算, 每个表300M内容   300*1000=30W条  *36个表  大体在 1千W条数据




第二个想法是分成

36* 36个表 (先分36个条,abcdefgh .......1234567890 ,              然后再把36个表中的每一个表分成36个小表) 查询的时候直接查询到其中一个表

这样 每个表有300M数据,下来大概38888W条数据  



不知道这两种 方式那一种好些呢?????


mysql数据库到1000个表以后速度会怎么样呢???效率会不会变慢????



除了以上两种 方法,还有那种方便更好些?????

希望在这方面有研究的朋友指点一下思路!

论坛徽章:
8
综合交流区版块每周发帖之星
日期:2015-12-02 15:03:53数据库技术版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每日发帖之星
日期:2015-09-14 06:20:00金牛座
日期:2014-10-10 11:23:34CU十二周年纪念徽章
日期:2013-10-24 15:41:34酉鸡
日期:2013-10-19 10:17:1315-16赛季CBA联赛之北京
日期:2017-03-06 15:12:44
2 [报告]
发表于 2010-07-10 11:09 |只看该作者
你这只考虑了存放数据
你还要考虑你以后要做哪些统计

论坛徽章:
5
荣誉会员
日期:2011-11-23 16:44:17CU大牛徽章
日期:2013-09-18 15:15:15CU大牛徽章
日期:2013-09-18 15:15:45未羊
日期:2014-02-25 14:37:19射手座
日期:2014-12-26 22:55:37
3 [报告]
发表于 2010-07-10 12:31 |只看该作者
现在不是支持分区了么?用得着这么麻烦?

论坛徽章:
0
4 [报告]
发表于 2010-07-11 17:46 |只看该作者
可以肯定的是,database文件下的文件多了,无论是ntfs还是Linux下的et3文件系统,操作文件的速度会直线下降,所以就有DBA建议mysql一个库总的表数不要超过300-500,myisam尤甚

论坛徽章:
0
5 [报告]
发表于 2010-07-13 13:48 |只看该作者
mysql proxy能不能解决你的问题呢

论坛徽章:
9
每日论坛发贴之星
日期:2016-01-04 06:20:00数据库技术版块每日发帖之星
日期:2016-01-04 06:20:00每日论坛发贴之星
日期:2016-01-04 06:20:00数据库技术版块每日发帖之星
日期:2016-01-04 06:20:00IT运维版块每日发帖之星
日期:2016-01-04 06:20:00IT运维版块每日发帖之星
日期:2016-01-04 06:20:00综合交流区版块每日发帖之星
日期:2016-01-04 06:20:00综合交流区版块每日发帖之星
日期:2016-01-04 06:20:00数据库技术版块每周发帖之星
日期:2016-03-07 16:30:25
6 [报告]
发表于 2010-07-13 14:25 |只看该作者
可以肯定的是,database文件下的文件多了,无论是ntfs还是Linux下的et3文件系统,操作文件的速度会直线下降 ...
xiao7ng 发表于 2010-07-11 17:46



    是的~ 有感触

论坛徽章:
0
7 [报告]
发表于 2010-07-28 18:34 |只看该作者
郁闷, 这个问题我到现在还没有想到好的解决办法, 有没有朋友指点一下?

论坛徽章:
0
8 [报告]
发表于 2010-07-28 18:35 |只看该作者
现在已经确认
分成1000个表速度会变慢了!!

难不成要开36个数据库???
每个库 再开36个表??

论坛徽章:
0
9 [报告]
发表于 2010-07-28 21:19 |只看该作者
现在已经确认
分成1000个表速度会变慢了!!

难不成要开36个数据库???
每个库 再开36个表??
无名分的浪漫 发表于 2010-07-28 18:35



    你试过用Innodb,加共享表空间这种方式了吗?

论坛徽章:
0
10 [报告]
发表于 2010-07-29 13:28 |只看该作者
现在已经确认
分成1000个表速度会变慢了!!

难不成要开36个数据库???
每个库 再开36个表??
无名分的浪漫 发表于 2010-07-28 18:35



    先谈谈需求吧。上来就分表对于合理性无从谈起。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP