1、请问一张数据表的数据达到多少条之后会影响插入和查询效率,以前听过说达到100万条数据之后查询和插入效率会大大降低,是这样吗? 没这个说法,100万查询如果你扫描的话那估计性能够呛的,如果不是扫描的话速度应该不会有什么指数级别的降低。插入如果是插到最后(有聚集索引且按顺序插入),那千万数据也不会慢,反正不影响上面的数据,但是如果你要反转再反转,那........ 2、ado做这种事情一般都不是很擅长,去找找有没有其他方法把,而且你还用游标的话,如果没用好,性能会大打折扣。 3、100万数据的确没必要做分区或者分表,1个亿还差不多。
[quote=引用 17 楼 public0011 的回复:] [quote=引用 14 楼 ldslove 的回复:] 100w的数据分个毛区啊。。。直接时间来个索引就可以了。
[quote=引用 14 楼 ldslove 的回复:] 100w的数据分个毛区啊。。。直接时间来个索引就可以了。
100w的数据分个毛区啊。。。直接时间来个索引就可以了。
200个字段,什么东西能有200个属性啊?100多万条记录不多,但存储应该很大了吧,分区表长远考虑应该用。union 是T-Sql和ADO有什么关系? 一分钟插一条数据,开销不大,如果只查询几条数据,应该没有问题。如果有像你这种跨年的查询肯定会慢,没有好办法只能优化表结构或者优化索引。
100多万虽不叫大数据,你有200多个列那就不太好说了。弱弱问一句这表是谁设计的。你这个一条数据库是不是就能占用一个数据页。如果从结构上设计的不好。那你的很多优化都是徒劳!
100w不叫大数据,建议取消外键,数据分区
你都按年分了,那么 为什么还会union呢? 比如用户查今年,就去今年的表里查,查哪一年就去哪一年的表里查啊。
项目中使用SQL Server存储一些采集数据,每分钟一条数据,每条数据大概有200多个字段。每年大概有50多万条数据。其中包括两个表,表A存储时间,以自增字段为主键。表B存数据,以ID字段作为主键,同时也是外键,指向表A的主键。 原来是考虑使用几年之后会导致数据表过大而影响效率,就像按照年份每年的数据存一个表。用户查询的时候就按照年份来查,然后把查询结果union之后返回给用户。但是现在遇到一个问题就是使用了坑爹的ado来访问数据库,ado的游标不支持union操作,所以想改回将所有数据都存在一张表里面。 请问一张数据表的数据达到多少条之后会影响插入和查询效率,以前听过说达到100万条数据之后查询和插入效率会大大降低,是这样吗?
建议 1.用"union all"替代"union". 2.ado的游标不支持union操作 --> 应有解决方案.是否与CursorLocation属性有关. 或写为存储过程,传入起始日期&结束日期,在存储过程中union all总可以吧. 3.每年大概有50多万条数据 --> 这样的数据量,应可不必按年存一个表.
22,297
社区成员
121,730
社区内容
加载中
试试用AI创作助手写篇文章吧