sql - SQL查询结果如何存储以便快速访问?

标签 sql mysql multiplatform

这里是 SQL 初学者。

我有一个大约需要 10 秒才能运行的查询,因此我们的应用程序速度变慢了。

是否可以在 MySQL 或更普遍的 SQL 中让服务器定期(每 1 到 5 分钟)运行查询并将其存储在某个地方,以便我可以查询此“缓存”表以便于访问?

提前致谢!

最佳答案

很可能取决于您的查询是什么,您可以通过在表上创建缺失索引来加快查询速度。放EXPLAIN EXTENDED在您的查询之前查看它正在使用哪些索引,并尝试找出应该索引哪些列。应该索引的列是 where 语句中的列,以及连接中使用的任何字段。如果您提供查询和表架构,我们可能会帮助推荐一些索引。

虽然可能有很多方法可以每 5 分钟运行一个进程来填充临时表(cron 作业、计划任务、从您的应用程序运行线程),但您最好在使用之前用尽索引选项像这样的严厉措施,可能只会使用更多的资源。并且不一定会提高您的应用程序的性能。

关于sql - SQL查询结果如何存储以便快速访问?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1671403/

相关文章:

mysql - 尝试在 Node js 中运行简单程序时出错

C++ OpenGL 窗口和上下文创建框架/库

sql - 查询 400 中的计数未正确传递

sql - 从另一个sql文件执行sql文件

sql - 存储过程返回 0 而不是值

mysql - Aegir 卡住了克隆/迁移/安装任务

MySQL 错误 1241 : Operand should contain 1 column(s)

java - 尝试从 MySQL 查询解析 JSON 时出现异常

Java,托管应用程序关闭作为对 CTRL^D 的响应

java - 带有像样的 gui 工具包的跨平台编程语言?