mysql - 优化 MySQL 中大表的单行查询

标签 mysql optimization

我正在处理 MySQL 表,这些表本质上是在具有单个百叶窗的模拟办公室中进行光线跟踪模拟的结果。我通常需要检索时间和百叶窗设置的独特组合的模拟结果。所以我最终做了很多

SELECT result FROM results WHERE timestamp='2005-05-05 12:30:25' \
         AND opening=40 AND slatangle=60

这看起来可疑地可优化,因为这个查询永远不会返回超过一行。在唯一标识每一行的三列上定义索引是否有意义?或者我可以使用其他技术吗?

最佳答案

答案肯定是肯定的。如果您在时间戳上定义了唯一索引,则 opening 和 slatangle MySQL 应该能够以很少的磁盘搜索找到您的行。

您可以尝试在时间戳、开场、slateangle 和结果上创建索引。 MySQL 可能能够从索引中获取您的数据,而无需触及数据文件。

MySQL 手册有一个 section about optimzing queries .

关于mysql - 优化 MySQL 中大表的单行查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/197381/

相关文章:

javascript - jQuery - Ajax POST 似乎不起作用

c - 在缓冲区中找到第一个未设置的位(优化)

python - Python中如何用冗余代码更好地编写多个异常?

c++ - 在 32 位架构上优化可移植的 128 位整数移位

mysql - 检查登录详细信息(用户名和密码)的最佳查询

mysql - SQL:将多个行值连接为列

php - 使用 MySQL/PHP 获取数组

mysql - SQL:对 COUNT 和 GROUP 求和以合并查询

delphi - 如何使用 SENDER 优化此代码?

php - CRON 作业的 MySQL 权限