想建立一个数据库,里面存储一些设备的数据。数据项大概有150多个字段。应用场景是每次回插入这150多个数据,以及数据产生的时间(起始时间和结束时间)。目前根据数据项的功能,把经常一起查询的数据项放到一个表,大概分成10几个表,还有一个表存放时间。就是数据库中表结构如下
timetable,data1table,data2table.......
timetable中主键是int字段,其他数据表有一个外键字段timeid指向timetable的主键。还有另外一种设计方式是把所有数据都存在一个表里面,那这个表就有150多个数据字段,再加上起始时间和结束时间字段。这种方式在查询的时候不需要多表联查,但是字段多也会影响查询效率。而第一种方法在一般查询的时候只对一个数据表和时间表进行联查,因为比较少会出现同时查询不同功能数据表的数据的情况。请问这两种方法哪种查询效率会比较高。插入效率可以不用考虑,因为一般是1分钟1条数据,存储时间长度在3年以上。3年的数据差不多157万条