关于连续查询十几张表甚至几十张表的问题?

问题描述

因为最近在做项目的时候发现:经常显示出来的一张表里面是数据库十几张表甚至是几十张表里面的东西,我想问问有没有什么好的办法解决这个问题?

解决方案

解决方案二:
建立一张表,存放各个表的表名,然后逐个查询你要的数据;根据业务情况,将这些表名能分组最好或者直接用sql语句就可以获取到一个数据库下所有表名
解决方案三:
如果是固定显示,搞个视图可以不,
解决方案四:
软件的内部的机制一定是不断重构的,每隔几十天就有一个重要的东西经过了重写。对于一些大表或者“快表”,通常要从用户需求、成本、后台控制等角度去综合考虑,通常会在数据产生时动态产生2层甚至更多层的中间表、汇总表,或者每天都进行一次结算,等等,设计方法各不相同,主要看你追求的目标是不是用户体验上的极端需求。总的来说,如果是一些小公司或者国营企业,那么其程序员可能就胡乱弄一堆视图就“完了”。它们懒得做架构设计,只喜欢用唯一的理由——省事儿——来作为一切。
解决方案五:
一些非常大而复杂的监控系统(例如一个800万人口的城市中某个简单的管道的应激处理系统),那么就是有90%的表都是“快表”而不是基础表,只有不足10%的表示基础数据表。这些快表是真实的物理表,不是什么逻辑视图。设计每一个用户需求的监控画面的中间表、中间环节,都可以独立地按照其上报数据的流程来考虑,首先要有一整套逐级向上汇总的数据流程,而不是什么东西都临时统计。这个过程你应该自己设计。人家用户要花钱买的,就是这类系统。而那种写几个sql语句、视图的事儿,随便一个程序员都会干。
解决方案六:
我听了还是有点糊涂,什么是快表?
解决方案七:
1、如果这些数据对实时性要求不高,可以夜间把结果集生成静态表,页面展现读取静态表,这样可以达到提速2、使用试图,或者优化你的查询逻辑,以期把查询响应时间控制在可接受范围内3、重构你的表结构。分析是因为业务逻辑变了,才导致要检索这么多表,还是原本设计就不合理?
解决方案八:
为什么业务逻辑变化的这么频繁?连存储结构也调整的这么频繁?是不是要频道做数据迁移之类的?感觉分析这块要控一控?
解决方案九:
个人认为,sp1234说的正确;首先通盘的理解业务、流程,根据实际情况,进行有效设计开发。
解决方案十:
当初为什么不变成一张表?

时间: 2024-10-23 02:55:11

关于连续查询十几张表甚至几十张表的问题?的相关文章

对象-两张表查询 结果集set的时候怎么处理 表A 和表B 是两个不同的实体

问题描述 两张表查询 结果集set的时候怎么处理 表A 和表B 是两个不同的实体 String sql = ""SELECT * FROM CLOUD_BOBA_BLOG_CATE""; PreparedStatement pstmt = null ; DataBaseConnection dbc = null ; try{ // 连接数据库 dbc = new DataBaseConnection() ; pstmt = dbc.getConnection().p

sqlserver-sql 通过like查询出一张表的一些数据,然后打算更新其中一列数据

问题描述 sql 通过like查询出一张表的一些数据,然后打算更新其中一列数据 请问下,先通过like查询a表中一些数据然后打算更新查询结果中一列数据,请问怎么弄你? 解决方案 update a set 字段1='新值' where 字段2 like '%条件%' 解决方案二: update tablename set 字段='XX' where 字段 like '%XX%' 解决方案三: 如果是在Oracle下,我用PLSQL Developer试过这样的方式.select * from ta

mysql update 根据表中字段查询另一张表更新更新

问题描述 mysql update 根据表中字段查询另一张表更新更新 mysql有两张表, 班级表class,包含 | id | name | | 1 | 一班 | | 2 | 二班 | 学生表student,其中classId为空,className有值并对应class表中的name | id | name | classId | className | | 1 | 一班 | | 一班 | | 2 | 二班 | | 二班 | | 3 | 一班 | | 一班 | | 4 | 二班 | | 二班

poi3 8大数据导出-poi3.8大数据量Excel导出连续查询导出不同的报表后导出速度非常慢

问题描述 poi3.8大数据量Excel导出连续查询导出不同的报表后导出速度非常慢 poi3.8用((SXSSFSheet)sheet).flushRows()方法解决了大数据量的excel导出,但是我在使用过程中,由于每个单元格都要设置不同的颜色和数据格式,发现导出第一张报表时速度还勉强可以接受,但是继续导出另一张报表,速度就慢的跟蜗牛似的,要10分钟甚至3个小时,请问有什么方法可以解决? 代码如下: private static void fillExcel(KDTable kdtRepor

select-oracle将查询的结果再存入到另一个表中,如何写sql或者说怎么实现

问题描述 oracle将查询的结果再存入到另一个表中,如何写sql或者说怎么实现 具体如select count(*) from test3;(test3表里面有8条数据) 将这个结果再insert到另一张表中.我试着写了 insert into sum select count(*) from test3;这个但是插入的数据不是8而是1,很郁闷 解决方案 insert into 目标表(字段列表) select 字段列表 from 原始表 能达到你的需求 解决方案二: count(*)是取多少

mysql查询-怎么判断一个用户在多个表中是否有值

问题描述 mysql查询-怎么判断一个用户在多个表中是否有值 场景如下,有一张用户表user,主键用户编号user_id ,类型int; 三张业务表 a_record,b_record,c_record,分别都含有外键user_id. 在方法中,别人传给我一串user_id ,字符串的,逗号分割的,如"10012001200398":我需要去数据库中判断这些user_id串中的用户是否有三种业务中至少一条的记录,(只要这个user_id字符串中的有一个人有其中之一业务记录,我就可以返回

《位置大数据隐私管理》—— 2.5 连续查询攻击

2.5 连续查询攻击 2.5.1 攻击模型 连续查询是移动数据管理中非常重要的一种查询类型.Chow等人在2007年第一次提出连续查询攻击[40]问题.如果直接将为静态位置设计的位置匿名算法应用于连续查询,将产生连续查询攻击.具体来说,连续查询在查询有效期内位置是动态变化的.所以用户在查询有效期内不同时刻形成的匿名集不同,且匿名集中包含的用户不同.因此,通过将查询有效期内匿名集中用户集合取交,可唯一确定提出连续查询的用户身份,即用户隐私泄露. 用一个例子具体说明连续查询隐私攻击场景.如图2-19

sql查询:如何用A组数据去查询另外一张表里的一个字段的数据并按A组数据的顺序排序

问题描述 sql查询:如何用A组数据去查询另外一张表里的一个字段的数据并按A组数据的顺序排序 我有这样的一组数据定为A:这个数据和我另一张表user_cards 中 grant_pid的数据是相等了,我想通过这组数据去查partner_id的数据并且按照A数据的这个顺序. 解决方案 select A.idB.id from A inner join B on A.id=B.id order by A.id 解决方案二: sql_查询一张表中的重复数据sql查询一张表的重复数据

mysql-MYSQL连续左连接两张表报错

问题描述 MYSQL连续左连接两张表报错 SQL语句如下: SELECT * FROM channel AS a JOIN floors b ON a.ifloorid = b.id join floors c on a.ofloorid = c.id 连续连接同一张表. 这个SQL语句直接放在mysql终端执行是没有问题的. 但是当用jdbc运行的时候.提示错误: You have an error in your SQL syntax; check the manual that corre