作者saintber (阿~~~~~~)
看板Database
标题[SQL ] 关於大型资料表的建置
时间Wed Mar 21 12:01:27 2012
目前我手上有份资料是有上亿笔资料,
只有[测站代码]、[时间]、[资料值]三个栏位,
则在建置该资料表的时候,我有想过以下几种方式,
想请教版上的各位前辈,采取哪种方式会比较合理呢?
1. 改以24小时的横式方式记录,但使用(分析计算)上很不方便。
2. 切成N张表,以测站代码区分要储存在哪张表(或是有其他切表方式?)。
3. 维持原样放同一张表建好Primary Key([测站代码]+[时间])就好
(不知道是不是我程式码写得不好,总觉得查询效率非常糟糕)。
4. 其他我没想到的方式,非常希望有前辈能给出建言!
以上,还请版上的各位提供意见了,感谢!!
--
生死休短,岂能强求?
予恶乎知悦生之非惑邪?
予恶乎知恶死之非弱丧而不知归者邪?
予恶乎知夫死者不悔其始知蕲生乎?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 163.13.117.42
1F:推 mervynW:出来的资料大概会是那种? 03/21 12:14
2F:→ saintber:请问哪种的意思是?资料型态?如果是的话栏位分别为 03/21 12:16
3F:→ saintber:varchar(10),datetime,float 03/21 12:16
4F:→ saintber:如果是指想要产出的结果,那就很多了,有要算出连续N小时 03/21 12:18
5F:→ saintber:最大值、年最大值、场次分割、平均...哩哩扣扣 03/21 12:18
6F:推 musie:已经到亿了..SQL效率降低是不可避免的.改用noSQL吧y 03/21 13:19
7F:推 hukhuk:我很好奇亿笔的资料,会占容量多大... 03/21 13:41
8F:→ saintber:三栏其实还好:资料列计数-106071192 资料空间-2,867 MB 03/21 13:54
9F:推 kobedisel:转成partition table 罗 03/21 16:12
10F:→ kobedisel:不知道SQL Server有没有复合型partition 不然可转成 03/21 16:13
11F:→ kobedisel:LIST+RANGE partition table 基本上就会差很多了 03/21 16:14
12F:→ saintber:!!!!...原来有这好东西,受教了!我研究研究,应该可用 03/21 16:40
13F:→ saintber:有用!(许久以後的回答) 09/10 17:13