python 操作mysql上千万数据如何调优

我现在有一个数据库,里面的数据表主要是日志类的数据。为了解决性能问题,已经做了 读写分离,现在写入走主库,读取走从库。

目前正在基于这些数据做一个 Web 可视化系统,使用 FastAPI 开发后端接口。但遇到一个比较棘手的问题:

当需要读取全部数据的时候,无论怎么优化,响应时间始终没办法控制在 10 秒以内。


当前尝试的两种策略:

:white_check_mark: 策略一:流式传输

接口使用 StreamingResponse 实现流式数据输出,前端边接收边渲染。效果上浏览器加载有所改善,但后端总响应时间依旧长,且前端展示也受到影响。

截图如下:

:white_check_mark: 策略二:分页加载

分页是目前主推的方式,但用户在查看大量日志时仍然频繁触发查询,整体体验没法说“流畅”。此外,每一页数据的响应时间依然不够快,尤其在高并发或大量筛选条件下。

:white_check_mark: 策略三:数据库索引

1 Like

我认为你应该检查sql语句的execution plan。

感谢指点

日志 elk走起

好的 我还没用这种工具 感谢指点

日志没必要用传统关系型数据库

1 Like

该说不说,日志用mysql实属下策,有的选就上elk

好的好的 学到了

好的好的 知识面少了

loki 轻量级的日志 如果只要日志可以用这个 需要做到搜索那还得上elk

要搜索的 多站群的日志 要对来源的信息进行数据分析

此话题已在最后回复的 30 天后被自动关闭。不再允许新回复。