我正在使用sqlite,所以空间对我来说是一个问题。 我想要一张表来存储一些城市的历史温度数据。该表就像
city_name 2018_04_04 2018_04_03 2018_04_02 ......
但事实上,这些历史温度记录的范围对于不同的城市是不同的。例如,对于纽约,温度记录从公元1800年开始,伦敦的温度记录从公元1600年开始。 因此,如果我构建一个列以1600 AD开始的表,那么将会有大量空间填充Null。据我所知,如果数据是浮动的,Null也会占用空间。
我应该如何构建此表以使其更“智能”并填充更多有用的数据?或者至少“强迫”Null不占用任何空间?
答案 0 :(得分:6)
不要将每一天添加为列,但添加日期列并将日期写入此列:
city_name | date | temperature ____________________________________ New York | 2018_04_04 | 40.3 New York | 2018_04_03 | 38.3
如果要保存一些内存,请添加城市表,只将city_fk写入温度表。
ID City 1 London 2 New York
CityID | date | temperature 2 2018-04-04 40.3 2 2018-04-03 38.3