日期:2014-05-17  浏览次数:20511 次

是否要分表
我有一个新闻库:
create table NEWS(
ID int IDENTITY(1,1) NOT NULL , createdate datetime,title varchar(100),content ntest,...
)

content  可能内容很大。随着时间推移,记录接近亿级别了。查询速度越来越慢。
他们建议说,把内容和标题分开两个表,通过ID关联。

create table NEWS_CONTENT(
ID int NOT NULL ,content ntest
)

create table NEWS_TITLE(
ID int , createdate datetime,title varchar(100),...
)

这样设计,是否能提高速度,其实记录条数还是没变,都是一一对应过去的,只是表空间变小而已。
因为每次只显示标题,点标题才出来新闻,所以就考虑到表里没有新闻内容,需要时根据ID关联
请问有没有必要这么设计的,理由是什么?
分表

------解决方案--------------------
不用分离,加多一个索引更简单。这个量级需要正确设计,否则慢是必然的
------解决方案--------------------
大数据字段,有必要拆出来,像XML,NTEXT。
好处:其它表跟此表关联时,如果用不到content字段,会大大提高速度。