O(∩_∩)O谢谢
15 个解决方案
#1
和并显示不是不可以,不过这样做一次性要联结那么多库效率可能不高。
看楼主这数据库的设计想必每天的数据量都很大,那么抽取的数据应该是按天做集计显示的吧,如果是我猜想的这样,那楼主大可做一张统计表,预先统计好了直接查询出来。
看楼主这数据库的设计想必每天的数据量都很大,那么抽取的数据应该是按天做集计显示的吧,如果是我猜想的这样,那楼主大可做一张统计表,预先统计好了直接查询出来。
#2
你好,你的回答我理解,但是如果我搜索的两个时间段不是固定的,可能跨多个表或者多个库,要如何实现呢
#3
首先数据库的设计源于实际工作,要从需求出发,所以还是要问下楼主,查询时间段内的表时,是展示所有数据还是以“日”为一条数据展示单位
#4
会显示所有的数据的
#5
如果表结构还未定型,
且每天记录数少于1千万条,建议改为 分区表 。。。。
否则,也尽量在一个库吧,只要库文件分布到多个磁盘
现在,如果程序查询,可以有程序根据日期范围,同时向多个表查询,结果再合并返回给用户
union后再查,无法使用索引,可能性能差很多
且每天记录数少于1千万条,建议改为 分区表 。。。。
否则,也尽量在一个库吧,只要库文件分布到多个磁盘
现在,如果程序查询,可以有程序根据日期范围,同时向多个表查询,结果再合并返回给用户
union后再查,无法使用索引,可能性能差很多
#6
那就只能[数据库].[表]的方式uinon起来,如果跨服务器还得加上服务器别名
当然如果数据基本不变的话可以考虑用视图
当然如果数据基本不变的话可以考虑用视图
#7
你好,我问一下分区表查询效率会很快吗,我可以每天分一个区吗
#8
你说的数据基本不变是什么意思,用视图是插入数据的时候自动生成视图了吗,查询的时候相当于查询一个表吗?
#9
不变的意思是,不会经常做如insert,update等操作,因为这样会使视图的索引失效,降低查询效率。所以如果表的数据经常变动就不推荐用视图
#10
你好,我问一下分区表查询效率会很快吗,我可以每天分一个区吗
如果表结构还未定型,
且每天记录数少于1千万条,建议改为 分区表 。。。。
否则,也尽量在一个库吧,只要库文件分布到多个磁盘
现在,如果程序查询,可以有程序根据日期范围,同时向多个表查询,结果再合并返回给用户
union后再查,无法使用索引,可能性能差很多
sql2005只能 一个分区表最多100个区
不知道最新的sql2014最多能分多少个区
#11
@xdashewan
这个表操作会比较频繁,经常有插入和更新操作,因此视图不行啊
这个表操作会比较频繁,经常有插入和更新操作,因此视图不行啊
#12
二位,我现在是所有数据都在一个表中,而且数据是持续增长并且不删除的,这样客户端查询数据时遍历的会很慢,而且还需要和其它表关联读取数据,最后显示。因为我想是不是可以把这个表拆分成多个表,这样根据输入的时间段,只是从固定数据中查找,是不是能快点?
#13
非常感谢二位的回答
#14
一般来说对大数据量的表进行效率优化方法是索引,分区,分表。具体根据实际记录数量来处理。
#15
二位,我现在是所有数据都在一个表中,而且数据是持续增长并且不删除的,这样客户端查询数据时遍历的会很慢,而且还需要和其它表关联读取数据,最后显示。因为我想是不是可以把这个表拆分成多个表,这样根据输入的时间段,只是从固定数据中查找,是不是能快点?
交易表,多插入,实时要求高,保留的记录数不用太多,定时移到历史库
历史表,记录很多,不会删改,只有定时的批量插入,可以放到另一个服务器都可以
#1
和并显示不是不可以,不过这样做一次性要联结那么多库效率可能不高。
看楼主这数据库的设计想必每天的数据量都很大,那么抽取的数据应该是按天做集计显示的吧,如果是我猜想的这样,那楼主大可做一张统计表,预先统计好了直接查询出来。
看楼主这数据库的设计想必每天的数据量都很大,那么抽取的数据应该是按天做集计显示的吧,如果是我猜想的这样,那楼主大可做一张统计表,预先统计好了直接查询出来。
#2
你好,你的回答我理解,但是如果我搜索的两个时间段不是固定的,可能跨多个表或者多个库,要如何实现呢
#3
你好,你的回答我理解,但是如果我搜索的两个时间段不是固定的,可能跨多个表或者多个库,要如何实现呢
首先数据库的设计源于实际工作,要从需求出发,所以还是要问下楼主,查询时间段内的表时,是展示所有数据还是以“日”为一条数据展示单位
#4
会显示所有的数据的
#5
如果表结构还未定型,
且每天记录数少于1千万条,建议改为 分区表 。。。。
否则,也尽量在一个库吧,只要库文件分布到多个磁盘
现在,如果程序查询,可以有程序根据日期范围,同时向多个表查询,结果再合并返回给用户
union后再查,无法使用索引,可能性能差很多
且每天记录数少于1千万条,建议改为 分区表 。。。。
否则,也尽量在一个库吧,只要库文件分布到多个磁盘
现在,如果程序查询,可以有程序根据日期范围,同时向多个表查询,结果再合并返回给用户
union后再查,无法使用索引,可能性能差很多
#6
那就只能[数据库].[表]的方式uinon起来,如果跨服务器还得加上服务器别名
当然如果数据基本不变的话可以考虑用视图
当然如果数据基本不变的话可以考虑用视图
#7
如果表结构还未定型,
且每天记录数少于1千万条,建议改为 分区表 。。。。
否则,也尽量在一个库吧,只要库文件分布到多个磁盘
现在,如果程序查询,可以有程序根据日期范围,同时向多个表查询,结果再合并返回给用户
union后再查,无法使用索引,可能性能差很多
#8
那就只能[数据库].[表]的方式uinon起来,如果跨服务器还得加上服务器别名
当然如果数据基本不变的话可以考虑用视图
你说的数据基本不变是什么意思,用视图是插入数据的时候自动生成视图了吗,查询的时候相当于查询一个表吗?
#9
那就只能[数据库].[表]的方式uinon起来,如果跨服务器还得加上服务器别名
当然如果数据基本不变的话可以考虑用视图
你说的数据基本不变是什么意思,用视图是插入数据的时候自动生成视图了吗,查询的时候相当于查询一个表吗?
不变的意思是,不会经常做如insert,update等操作,因为这样会使视图的索引失效,降低查询效率。所以如果表的数据经常变动就不推荐用视图
#10
你好,我问一下分区表查询效率会很快吗,我可以每天分一个区吗
如果表结构还未定型,
且每天记录数少于1千万条,建议改为 分区表 。。。。
否则,也尽量在一个库吧,只要库文件分布到多个磁盘
现在,如果程序查询,可以有程序根据日期范围,同时向多个表查询,结果再合并返回给用户
union后再查,无法使用索引,可能性能差很多
sql2005只能 一个分区表最多100个区
不知道最新的sql2014最多能分多少个区
#11
@xdashewan
这个表操作会比较频繁,经常有插入和更新操作,因此视图不行啊
这个表操作会比较频繁,经常有插入和更新操作,因此视图不行啊
#12
二位,我现在是所有数据都在一个表中,而且数据是持续增长并且不删除的,这样客户端查询数据时遍历的会很慢,而且还需要和其它表关联读取数据,最后显示。因为我想是不是可以把这个表拆分成多个表,这样根据输入的时间段,只是从固定数据中查找,是不是能快点?
#13
非常感谢二位的回答
#14
一般来说对大数据量的表进行效率优化方法是索引,分区,分表。具体根据实际记录数量来处理。
#15
二位,我现在是所有数据都在一个表中,而且数据是持续增长并且不删除的,这样客户端查询数据时遍历的会很慢,而且还需要和其它表关联读取数据,最后显示。因为我想是不是可以把这个表拆分成多个表,这样根据输入的时间段,只是从固定数据中查找,是不是能快点?
交易表,多插入,实时要求高,保留的记录数不用太多,定时移到历史库
历史表,记录很多,不会删改,只有定时的批量插入,可以放到另一个服务器都可以