同一台服务器上将表分成多个数据库中存放性能有没有提升

zywhao 2012-12-08 03:10:03
因我的数据表数据量比较大,现有记录4000W

我想将这个表分成4个数据库存放,db0,db1,db2,db3

查询记录的时候 我使用union 将几个表中查到的结果汇总在一起,


这样是否会比以前在同一表中存放查询速度变快呢
...全文
330 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
hchjjun 2012-12-11
  • 打赏
  • 举报
回复
跨库操作的话肯定慢的多了
kingtiy 2012-12-10
  • 打赏
  • 举报
回复
分开存放,操作不方便.效率也会下降.
dangdangcn 2012-12-10
  • 打赏
  • 举报
回复
如果数据不是永久保存的话,建议把数据量多的一些表过一段时间改成另外的名字,比如按季度:tabe0,tabe1,tabe2,tabe3等,放在同一个库中,不断轮换,抛弃不用的数据,这样可能会减少记录数,提高查询速度,仅供参考。
以学习为目的 2012-12-10
  • 打赏
  • 举报
回复
不建议跨库存储,按照你业务的特点,可以按时间或者地区等进行分表存储就可以的。查询方便,设计数据库、表的时候设计合理,查询代码尽量优化,合理建立使用索引。
Mr_Nice 2012-12-10
  • 打赏
  • 举报
回复
引用 楼主 zywhao 的回复:
因我的数据表数据量比较大,现有记录4000W 我想将这个表分成4个数据库存放,db0,db1,db2,db3 查询记录的时候 我使用union 将几个表中查到的结果汇总在一起, 这样是否会比以前在同一表中存放查询速度变快呢
如果数据不在增加,就4Kw的数据,单一库就可以直接处理了。 做好分区,索引即可。 如果数据存在增长,建议lz分析需求。绝大多数情况是不需要进行分库的。分表也可以达到分开存储的目的。 分库的弊端见一楼
haitao 2012-12-10
  • 打赏
  • 举报
回复
不要分库 同一个大表改为分区表就好很多了 同一个库,数据文件可以多个,它们分布到不同磁盘,也能带来性能提高
lwy7853 2012-12-10
  • 打赏
  • 举报
回复
可以分段,但得根据实际情况,对数据查询分类入库,直接用union是没有效率的
發糞塗牆 2012-12-09
  • 打赏
  • 举报
回复
个人建议:90%(我不敢说绝对)的情况下在同一个库快的多,因为很多统计信息可以共享,而跨库甚至跨服务器,有很大的开销。哪怕你把4个表存在一个库都比存在多个库快。当然,4000万算不了什么,设计好的话2000都很快,别说使用05、08的新特性。关注设计,优化查询和索引,这才是根本的出路。 分开库,SQLServer要先检验权限,然后再把多个库的统计信息读出来分析,然后组合查询,这些都会有很大的损耗。
glassy2000 2012-12-09
  • 打赏
  • 举报
回复
同意1楼的意建

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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