我正在处理 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/