作者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