如何提高数据库访问性能

rottenapple 2010-10-18 12:07:34
我的案例是这样的,一个中心数据库和web services,大概数据量是1000万行,8列左右,都是简单数据类型。不同的省调用相同的webserivce来检索数据库(没有update)。目前发现有些检索需要3-5秒钟左右。在数据库结构不能改变的情况下,如何能够提高网站的响应时间呢? 每个省的网站访问量在每天10kpv下,并发用户500。

目前的想法是使用一层内存数据库放在application server.目前在考虑hsqldb。由于以前没有这么大的数据量和访问量,不知道可不可以。hsqldb打算使用内存方式,每天晚上会有一个batch更新它。晚上用户的访问量应该很少。

如果抛开数据库的缓存,不知道还有什么办法?
...全文
100 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
舟中夜起 2010-11-27
  • 打赏
  • 举报
回复
我感觉可以有如下两种方式:
1、如果并发很少时,访问延时就能降低,也就是无需优化数据库,而且如果并发时,通过webservice访问数据都差不多的话,可以在代码级别上增加cache。当然也可以通过增加slave db来降低master db压力,代码上或者设备上来做负载均衡。

2、如果并发很少时,访问延时也不变,那就是数据库优化有问题,可以采取如下两种方式:
1)优化主数据库,例如增加索引等等
2)如果不想优化主数据库,那就采取slave db,从master db同步需要的数据,在slave db上优化
3)如果都不想,那就代码上做文章了,例如搞个服务事先生成好所需数据等
jinjazz 2010-11-18
  • 打赏
  • 举报
回复
可以在memcache下缓存
zuoxingyu 2010-10-21
  • 打赏
  • 举报
回复
分布式数据库,每个省用本地数据库,本地数据库从中心数据库进行同步过去。
rottenapple 2010-10-21
  • 打赏
  • 举报
回复
顶一个,没人明白么?
zk6010 2010-10-19
  • 打赏
  • 举报
回复
很有启发意义,感谢!
rottenapple 2010-10-18
  • 打赏
  • 举报
回复
web services的TPS满足100就可以了。 中心数据库是oracle,只有一个。个省没有自己的数据库。
ACMAIN_CHM 2010-10-18
  • 打赏
  • 举报
回复
如果这个省站只是读, 不写数据的话。 建议使用分布式处理。 把数据通过物化视图放到各省站。
wwwwb 2010-10-18
  • 打赏
  • 举报
回复
什么数据库?执行什么SQL语句,索引情况是什么,有多少 用户并发?

2,209

社区成员

发帖
与我相关
我的任务
社区描述
其他数据库开发 其他数据库
社区管理员
  • 其他数据库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧