MS-SQL如何实现分表查询

Charlie_Shu 2010-02-20 08:43:20
我有5个表,都是通过外键关联的,数据量很大,每个表都差不多上千万条记录,查询一次需要十几分钟,想优化

请问能不能用分表实现,如何实现分表

我的数据没有办法按照时间来分表,因为记录有很多都是集中在一个时间段内的,我的初步想法是按照记录数量来分表
例如,够10W条就建立一张新表,存入下一张。

但是这样做不知道存储的地方如何实现,而且数据在每天0点的时候会清空7天前的记录,分表的话删除起来也会很不方便

谁能给个思路或者基本的实现方法,感激不尽,要切实可行的
...全文
320 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
downmoon 2010-02-22
  • 打赏
  • 举报
回复
可以按日期分。
然后在外部关联表来维护相关联的ID,
05、08可以利用分区功能
Sweet-Tang 2010-02-22
  • 打赏
  • 举报
回复

建好索引
再来求
可以用SQL 2005 SQL 2008的分区功能
liaolian9948 2010-02-22
  • 打赏
  • 举报
回复
學習學習。。回复内容太短了!
人鱼传说 2010-02-22
  • 打赏
  • 举报
回复
按Name来分可否呢
Mr_Nice 2010-02-20
  • 打赏
  • 举报
回复
引用 1 楼 chouchou2007 的回复:
补充下,如果分表,按什么分,根据什么来判断查询的内容在那张表呢?
表的话  有主键ID  外键  时间  以及  IP  NAME 


看实际业务,如果跟结帐等都没有关系的话,可以用时间
像您说的这个就可以用时间来处理。


rucypli 2010-02-20
  • 打赏
  • 举报
回复
按天分表以后就直接drop表 不用delete了
建好索引
Charlie_Shu 2010-02-20
  • 打赏
  • 举报
回复
补充下,如果分表,按什么分,根据什么来判断查询的内容在那张表呢?
表的话 有主键ID 外键 时间 以及 IP NAME

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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