搭建教程数据库对接

MySQL 数据怎么做可视化大屏?数据库直连的三种方式

📅 2026-09-07👁 约 7 分钟✍ 灵境大屏团队
业务数据大多躺在 MySQL、SQL Server 或 Oracle 里,"把这些库的数据做成大屏"是最常见的落地需求。真正的问题不是"能不能连",而是用什么姿势连——姿势选错,要么安全审计过不了,要么大屏把业务库拖垮。

一、三种方式总览

方式做法优点风险/成本
大屏直连数据库平台配置库地址直查最快库暴露给展示层,SQL 散落难治理
接口封装(推荐)后端出只读 HTTP 接口安全、可控、可缓存需要少量后端工作
中间表/数仓ETL 到汇总表再供数业务库零压力有时效延迟,适合超大数据量

数据量大、并发高、指标口径复杂的企业走第三种;绝大多数中小项目,第二种"接口封装"是投入产出比最高的。

二、推荐:接口 + JSONPath,不写前端代码

  • 后端把汇总查询包成只读接口,例如 GET /api/dashboard/sales-summary 返回 JSON;
  • 在灵境大屏的数据源配置里填入接口地址与请求头,用 JSONPath 把返回字段映射到图表——$.data.totalAmount 绑到指标卡,$.data.trend[*].value 绑到折线图;
  • 设置定时轮询,前端一行代码不用写,后端也只维护一份 SQL。

接口鉴权、响应结构处理与常见坑,展开见API 数据对接实战;SQL 细节与图表端优化可参考ECharts 大屏开发技巧。

三、轮询频率与数据库压力

  • 管理类大屏 1~5 分钟刷新完全够用,不必追求"实时";
  • 把轮询当 QPS 算:10 块屏 × 每秒 1 次 = 每分钟 600 次查询,直连业务库就会出事,走接口层可以加缓存挡住;
  • 同一块屏里多个组件取同一接口时,先看平台是否支持"一源多组件"复用,避免重复请求;
  • 真正的秒级需求(设备、行情)优先考虑推送或专用链路,见物联网实时数据大屏。

四、聚合尽量在库里做

  • 让 MySQL 做 GROUP BY、窗口函数和日期归一,不要把百万行明细拉到前端再算;
  • 慢查询用汇总表/定时任务落盘,大屏只查结果表,响应从秒级降到毫秒级;
  • 指标口径写进 SQL 注释,半年后改口径的人会感谢你。

五、安全:只读账号与最小暴露

  • 为供数单独建只读账号,权限只给涉及的库表,与业务账号隔离;
  • 接口与大屏平台部署在内网,对外只暴露发布后的播放链接,并按大屏安全指南做链接管控;
  • 私有化部署的平台上,数据源配置与凭据留在客户内网,不出边界——这也是政企项目能否过审的关键。

一句话总结:库里的数据上屏,走"只读接口 + JSONPath 映射 + 合理轮询"这条路,安全、性能、可维护三个问题一次性解决。

HTTP API 数据源 + JSONPath 字段映射,数据库上屏不写前端代码。

了解数据源能力 →