当前位置: 代码迷 >> Sql Server >> SQL 2008 单个数据表记录在亿级怎么建表
  详细解决方案

SQL 2008 单个数据表记录在亿级怎么建表

热度:73   发布时间:2016-04-24 10:17:14.0
SQL 2008 单个数据表记录在亿级如何建表?
每天20W数据插入,数据表很快就会到亿级.请问后期查询时,如何提升查询性能?

如果要进行表分区,如何做?

还有开启了AWE.任务管理器中看不到内存使用.

如何查看它的内存使用?
------解决方案--------------------
引用某人建表策略
1、大数据字段最好剥离出单独的表,以便影响性能
2、使用varchar,代替char,这是因为varchar会动态分配长度,char指定为20,即时你存储字符“1”,它依然是20的长度 
3、给表建立主键,看到好多表没主键,这在查询和索引定义上将有一定的影响
4、避免表字段运行为null,如果不知道添加什么值,建议设置默认值,特别int类型,比如默认值为0,在索引查询上,效率立显。
5、建立索引,聚集索引则意味着数据的物理存储顺序,最好在唯一的,非空的字段上建立,其它索引也不是越多越好,索引在查询上优势显著,在频繁更新数据的字段上建立聚集索引,后果很严重,插入更新相当忙。
------解决方案--------------------
每天20W数据插入,数据表很快就会到亿级.请问后期查询时,如何提升查询性能?
--> 建索引,良好的SQL写法,服务器磁盘用阵列Raid5,磁盘转速足够,服务器内存足够...

如果要进行表分区,如何做?
--> 建分区函数->建分区方案->建分区表.

还有开启了AWE.任务管理器中看不到内存使用.
如何查看它的内存使用?
--> windows任务管理器->进程->[内存]列即是内存使用量.
------解决方案--------------------
正常的索引什么的不用讲。
这么大的数据量,肯定不可能是查明细吧?我以为真正想查的应该是某种程度上的汇总或统计结果。
所以,每天将当天20万的数据分类、汇总、统计成一个结果表,说不定只有几万、几千甚至几百数据了,这样就很容易查询了。
  相关解决方案