sql数据库表多是否影响查询效率?

wuxixujia 2010-07-19 01:14:45
数据库中AllData表有9千多万条数据
表中有三个字段
ID为bigint
ReadingDate为datetime
ReadingValue为real
ID和ReadingDate为联合主键
这样查询这张表时
速度极慢

后来我把这些数据分类
根据ID不同变成了三千多张表
每张表有三万条数据
想查询某个ID的数据时
就查询其对应的表

请问数据库中如果有很多很多张表,是否会影响整个数据库的查询效率?
另外直接查询AllData表还是查询其分类表?哪种查询方式速度更快?
...全文
728 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
cobra21th 2010-07-21
  • 打赏
  • 举报
回复
应该不是用 一个电表对应一张表来解决的
wuxixujia 2010-07-19
  • 打赏
  • 举报
回复
问题已解决

主要是
电表牵扯到部门组织结构树
例如
A部门下有B部门
B部门又分C部门D部门
每个部门又有自己对应的电表
如果要查A部门用了多少电
就牵涉到子部门套子部门的子查询
这样效率就很低

最后引入部门编码
插数据时就把对应的组织结构插入表中
以后就查询方便了
guguda2008 2010-07-19
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 xujia66 的回复:]

引用 1 楼 beirut 的回复:
用不到的表是不会影响你用到的表的

不知道你能不能理解,你们的表也真够多的了

是这样的
我们是做电表监控
一个ID代表一块电表
现在有三千多块电表
然后每一个小时采集一下电表数据
我现在要查询某块电表的以往数据(这个速度还算可以)
关键是要统计某一段时间内对应部门的用电数,有电表与部门的关联表,这样就会牵涉到子查询之类,速度就极慢
[/Quote]
查询慢可以建索引,不用分表。9000W不算多
Dingnifei123 2010-07-19
  • 打赏
  • 举报
回复
有点意思,不过觉得你这种做法有些奇特,

如果有10W个电表怎么办?

不停的建数据表来对应每个电表吗?

SQL SERVER 2008最多可以建多少个表?
budong0000 2010-07-19
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 xujia66 的回复:]

引用 1 楼 beirut 的回复:
用不到的表是不会影响你用到的表的

不知道你能不能理解,你们的表也真够多的了

是这样的
我们是做电表监控
一个ID代表一块电表
现在有三千多块电表
然后每一个小时采集一下电表数据
我现在要查询某块电表的以往数据(这个速度还算可以)
关键是要统计某一段时间内对应部门的用电数,有电表与部门的关联表,这样就会牵涉到子查询之类,速度就极慢
[/Quote]

依需求,那就建立部门表,我觉得一个表也是可以的了。定期备份走历史数据,重建索引,索引建议分开建。
wuxixujia 2010-07-19
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 hao1hao2hao3 的回复:]
在查询分类表时,你怎么决定去查哪个分类表?这是不是也要有一个过程?
[/Quote]
看4楼的说明
wuxixujia 2010-07-19
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 beirut 的回复:]
用不到的表是不会影响你用到的表的

不知道你能不能理解,你们的表也真够多的了
[/Quote]
是这样的
我们是做电表监控
一个ID代表一块电表
现在有三千多块电表
然后每一个小时采集一下电表数据
我现在要查询某块电表的以往数据(这个速度还算可以)
关键是要统计某一段时间内对应部门的用电数,有电表与部门的关联表,这样就会牵涉到子查询之类,速度就极慢
永生天地 2010-07-19
  • 打赏
  • 举报
回复
有影响,但比放在一个表里要强很多
hao1hao2hao3 2010-07-19
  • 打赏
  • 举报
回复
在查询分类表时,你怎么决定去查哪个分类表?这是不是也要有一个过程?
黄_瓜 2010-07-19
  • 打赏
  • 举报
回复
用不到的表是不会影响你用到的表的

不知道你能不能理解,你们的表也真够多的了
资源下载链接为: https://pan.quark.cn/s/abbae039bf2a 在计算机视觉领域,实时目标跟踪是许多应用的核心任务,例如监控系统、自动驾驶汽车和无人机导航等。本文将重点介绍一种在2017年备受关注的高效目标跟踪算法——BACF(Boosted Adaptive Clustering Filter)。该算法因其卓越的实时性和高精度而脱颖而出,其核心代码是用MATLAB编写的。 BACF算法全称为Boosted Adaptive Clustering Filter,是基于卡尔曼滤波器改进的一种算法。传统卡尔曼滤波在处理复杂背景和目标形变时存在局限性,而BACF通过引入自适应聚类和Boosting策略,显著提升了对目标特征的捕获和跟踪能力。 自适应聚类是BACF算法的关键技术之一。它通过动态更新特征空间中的聚类中心,更准确地捕捉目标的外观变化,从而在光照变化、遮挡和目标形变等复杂情况下保持跟踪的稳定性。此外,BACF还采用了Boosting策略。Boosting是一种集成学习方法,通过组合多个弱分类器形成强分类器。在BACF中,Boosting用于优化目标检测性能,动态调整特征权重,强化对目标识别贡献大的特征,从而提高跟踪精度。BACF算法在设计时充分考虑了计算效率,能够在保持高精度的同时实现快速实时的目标跟踪,这对于需要快速响应的应用场景(如视频监控和自动驾驶)至关重要。 MATLAB作为一种强大的数学计算和数据分析工具,非常适合用于算法的原型开发和测试。BACF算法的MATLAB实现提供了清晰的代码结构,方便研究人员理解其工作原理并进行优化和扩展。通常,BACF的MATLAB源码包含以下部分:主函数(实现整个跟踪算法的核心代码)、特征提取模块(从视频帧中提取目标特征的子程序)、聚类算法(实现自适应聚类过程)、Boosting算法(包含特征权重更新的代
内容概要:本书《Deep Reinforcement Learning with Guaranteed Performance》探讨了基于李雅普诺夫方法的深度强化学习及其在非线性系统最优控制中的应用。书中提出了一种近似最优自适应控制方法,结合泰勒展开、神经网络、估计器设计及滑模控制思想,解决了不同场景下的跟踪控制问题。该方法不仅保证了性能指标的渐近收敛,还确保了跟踪误差的渐近收敛至零。此外,书中还涉及了执行器饱和、冗余解析等问题,并提出了新的冗余解析方法,验证了所提方法的有效性和优越性。 适合人群:研究生及以上学历的研究人员,特别是从事自适应/最优控制、机器人学和动态神经网络领域的学术界和工业界研究人员。 使用场景及目标:①研究非线性系统的最优控制问题,特别是在存在输入约束和系统动力学的情况下;②解决带有参数不确定性的线性和非线性系统的跟踪控制问题;③探索基于李雅普诺夫方法的深度强化学习在非线性系统控制中的应用;④设计和验证针对冗余机械臂的新型冗余解析方法。 其他说明:本书分为七章,每章内容相对独立,便于读者理解。书中不仅提供了理论分析,还通过实际应用(如欠驱动船舶、冗余机械臂)验证了所提方法的有效性。此外,作者鼓励读者通过仿真和实验进一步验证书中提出的理论和技术。

27,582

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧