Google BigQuery移至SQL Server,优化大数据表

时间:2019-02-20 18:05:07

标签: sql sql-server tsql indexing bigdata

我有一个奇怪的问题,顾名思义,我是一个新手,所以请多多包涵,哦,大家好,我已经使用该网站学到了很多东西。

我有一个面向客户的MSSQL数据库,我每天都在尝试跟踪他们的状态,将各种属性记录在多个表中,然后使用数据表将它们合并在一起以创建一个主表,该主表产生大约6亿美元的收入行。

您可以想象在中型服务器(Intel i5,SSD HD OS,2tb 7200rpm HD,Standard SQL Server 2017)上查询此野兽确实很慢。我当时使用的是Google BigQuery,但很快就花了很多钱。我已经实现了一些索引,这些索引在某种程度上加快了该过程,但仍然不够快。对于一个给定的属性,一个简单的,针对客户ID的不同选择,首次运行平均仍需要12分钟。

每天查看数据的全部要点是使tableau或QLIK之类的内容易于连接到单个表,从而使最终用户只需拖动所需的列即可轻松创建报告。我曾考虑过使用创建主表并将其参数化的主查询,但是可视化工具不适用于传递许多变量。

这是表格的摘要,大约有300,000个客户,每天为在2010年至2017年之间加入的客户创建一行。如果离开,则不在列表之列。

我的问题是:

1)我什至不应该创建平面文件,还是只对查询参数化。

2)除了为每一列设置最小的数据类型以使DB大小保持最小之外,我还有什么可以使用的技术。

3)实际上有一百多个属性列,一旦将它们设置为0或1,很少将它们更改,是否有另一种方法可以实现此目的并节省空间?

4)如果许多属性都是二进制的,我应该在主表上拥有哪些类型的索引

任何想法都会受到欢迎。

enter image description here

0 个答案:

没有答案
相关问题