喜悦国际村 
» 游客:  注册 | 登录 | 搜索 | 统计 | 帮助

RSS 订阅当前论坛  

喜悦证交所已经关闭

上一主题 下一主题
 11  1/2  1  2  > 
     
标题: [讨论] 大型数据库的设计与编程技巧  
 
chengxin119 (chengxin119)
高级会员
Rank: 4
资深会员



UID 18699
精华 0
积分 631
帖子 654
金钱 631 喜悦币
威望 0
人脉 0
阅读权限 50
注册 2003-3-4
来自 上海
状态 离线
[广告]: q m
大型数据库的设计与编程技巧

本人最近开发一个访问统计系统,日志非常的大,都保存在数据库里面。

我现在按照常规的设计方法对表进行设计,已经出现了查询非常缓慢地情形。

大家对于这种情况如何来设计数据库呢?把一个表分成多个表么?那么查询和插入数据库又有什么技巧呢?

谢谢,村里面的兄弟们!
2007-2-5 02:20 PM#1
查看资料  访问主页  发短消息  顶部
 
xjdiablo (xjdiablo)
注册会员
Rank: 2
初级会员



UID 15616
精华 0
积分 54
帖子 37
金钱 54 喜悦币
威望 0
人脉 0
阅读权限 20
注册 2002-8-1
状态 离线
[推荐阅读] 如何实现定期删除纪录?
索引,分表(按时间分),子查询......暂时就想到这么多了,查询语句尽量简短
2007-2-5 02:46 PM#2
查看资料  发短消息  顶部
 
wue
注册会员
Rank: 2
一般会员



UID 63884
精华 0
积分 66
帖子 78
金钱 66 喜悦币
威望 0
人脉 0
阅读权限 20
注册 2005-3-31
来自 河北
状态 离线
[推荐阅读] 星期天来村里的人少!~~~
分成主从库,做一个配置器负责逻辑分表,查询用lucense



http://www.wuei.net
2007-2-6 02:00 PM#3
查看资料  访问主页  发短消息  顶部
 
ytsm0112
新手上路
Rank: 1



UID 82337
精华 0
积分 21
帖子 22
金钱 21 喜悦币
威望 0
人脉 0
阅读权限 10
注册 2006-10-29
状态 离线
[推荐阅读] 请教如何实现这样的“涨跌”统计!!
查询用lucense  请问这个要什么使用?
2007-2-10 02:14 PM#4
查看资料  发短消息  顶部
 
showsa
中级会员
Rank: 3Rank: 3
老会员



UID 29652
精华 0
积分 447
帖子 446
金钱 447 喜悦币
威望 0
人脉 0
阅读权限 30
注册 2004-6-27
状态 离线
[推荐阅读] 问一个SQL的问题
最直接的方法就是在条件部分全部索引 用空间换时间



上海家教
爱心家教
2007-2-11 10:50 AM#5
查看资料  访问主页  发短消息  顶部
 
abbish
金牌会员
Rank: 6Rank: 6
高级会员



UID 18283
精华 0
积分 2044
帖子 2184
金钱 2044 喜悦币
威望 0
人脉 0
阅读权限 70
注册 2003-2-8
来自 北京
状态 离线
[推荐阅读] 橙天娱乐招聘php工程师
按照时间把库分开,建立正确的索引,避免关联及子查询,like的使用



One-stop Perfect Solution
-------------------------------
Strawberry Version 1.0.1 PHP4 Function
Strawberry Version 2.0.0 PHP5 Object
2007-2-26 10:07 AM#6
查看资料  访问主页  发短消息  QQ  顶部
 
seakingx
金牌会员
Rank: 6Rank: 6


UID 75142
精华 0
积分 1264
帖子 801
金钱 663 喜悦币
威望 0
人脉 601
阅读权限 70
注册 2006-6-18
来自 海口
状态 离线
[推荐阅读] 关于搜索的~
我个人认为可以按以下的思路优化一下:

1、大表, 是指列数多还是行数多?

2、分表有按列分和按行分,

3、频繁操作是插入还是查询? 占资源多的是那个, 一般如果行数多会造成查询缓慢,

4、统计查询的时间实时要求高不高, 比如是否一定要精确到某时某刻,还是某段时间(既可缓10分钟), 如果可缓,可以10分钟做一次统计快照 , 既10分钟(或5分钟)做一次统计快照,把几千万数据统计为几万条数据的快照统计表, 这样会明显提高效率。




锐升科技
2007-2-26 11:46 AM#7
查看资料  Blog  发短消息  QQ  顶部
 
seakingx
金牌会员
Rank: 6Rank: 6


UID 75142
精华 0
积分 1264
帖子 801
金钱 663 喜悦币
威望 0
人脉 601
阅读权限 70
注册 2006-6-18
来自 海口
状态 离线
[推荐阅读] 请教cakephp修改记录问题
还有,数据库系统主机的优化也很重要, 比如, 服务器分流, 存储空间的设置技巧 ... 这些对大型数据库都很重要



锐升科技
2007-2-26 11:49 AM#8
查看资料  Blog  发短消息  QQ  顶部
 
独孤客
注册会员
Rank: 2


UID 76714
精华 0
积分 101
帖子 100
金钱 101 喜悦币
威望 0
人脉 0
阅读权限 20
注册 2006-7-19
状态 离线
[推荐阅读] apache2加载php5模块失败
如果是日志的话可以将以前的日志备份然后删除,一般只需要保留最近一周左右的日志,如果要查询其他日志可从备份中查,还有大型网站一般可不记录访问日志,只记录操作日志。这样日志会相对少点。
2007-2-26 05:12 PM#9
查看资料  发短消息  顶部
 
robinhunan
注册会员
Rank: 2
一般会员



UID 20392
精华 0
积分 181
帖子 151
金钱 181 喜悦币
威望 0
人脉 0
阅读权限 20
注册 2003-6-3
状态 离线
[推荐阅读] 【南昌】对北美软件服务公司招聘php开发人员
给你两种方案:
  数据表大了的话,肯定要分表的.

一种是按数据类型分表.
比如说用户1的日志,用户2的日志,查询的时候又基本上是按照这种方式查的话比较好.还省去了查询条件

另外一个方案就是按时间分:
   其实来这也是一种类型,只是稍微有些差别.
  如果每天的日志量很大的话可以当天写入临时表比如log_tmp
然后每天定时跑crontab,将log_tmp改名为2007-03-05
然后重新建立一个log_tmp新表

另外也可以按多少条记录,分表,也可以考虑按hash算法分布表.
2007-3-5 11:06 AM#10
查看资料  发短消息  QQ  顶部
 11  1/2  1  2  > 
     


  可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题 | 开通个人空间  


 




Powered by Discuz! 6.1.0  © 2001-2010 Comsenz Inc.
Processed in 0.023563 second(s), 6 queries

(冀ICP备05009913号) 管理员:sadly 邮箱/MSN: sadly@phpx.com QQ:824008(长隐) 清除 Cookies - - Archiver - WAP