如何设计一个方便高效查询的大容量的数据库

 我来答
就烦条0o
2017-03-23 · 知道合伙人软件行家
就烦条0o
知道合伙人软件行家
采纳数:33315 获赞数:46487
从事多年系统运维,喜欢编写各种小程序和脚本。

向TA提问 私信TA
展开全部
建议:
1、你要预估一下你的系统将要用多久,然后计算一下表的大小、库的大小。
2、要区分你的是OLTP还是OLAP类型。
3、如果2个月才300万,那不算多,一年就千万级别而已,一个表就算过亿也是可以承受的,根据你的需要,比如查询需要,如果经常需要查询一年,那按年来做表分区(2005及其后续版本才有),如果经常查询一个月,就按月来分区,对于分区,建议使用2008及以上版本,分区的数量会更多。
4、还是根据你的需要,如果不是每次查询都要查那么细,那你的设计还是可以的。如果每次都要那么细,可以考虑适当冗余一些字段到你的主表。
5、建议使用2008及以上版本,特别是2012的alwayson,可以很大程度分开读写操作,这个具体你可以到msdn找。如果是OLAP,2012可以提供列存储索引。查询速度奇快。如果结合分区,可以实现快速数据导入功能。
6、表中字段如非必要,不要存放太多数据到一个列,可以分开,不过这部分要按照业务需要,举个例子,存地址,如果你的系统每次都要完整地址,那么建议使用一列来存放,如果你经常需要统计省、市、区等,那么建议分开3个字段,这样可以减少字符串拆分的开销。
7、字段设计方面,使用足够的类型就可以了,比如字符型,别每次都用max。
8、tempdb要整大一点。
由于你的表就两个,所以也谈不上什么设计,更多是架构问题。
万山数据
2024-11-14 广告
北京万山数据科技有限公司,反向治理破解数据治理投入大见效慢的难题;DG4L湖仓一体数据;治理平台让数据变成资产;Clickhouse专家服务、Clickhouse升级服务,Clickhouse应用无忧... 点击进入详情页
本回答由万山数据提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式