优化MySql Select for Application

时间:2013-04-03 14:33:33

标签: mysql database

Iam目前正致力于分析保存在我们数据库中的运行时值的应用程序(过滤器的平均值/中位数,如日,月,使用的方法等)。但是我还读到用户友好的应用程序在用户点击按钮后显示数据时不应该花太长时间,但我想不出一种方法可以快速获取大型数据库的查询。我想写一些东西来存储每天所需的值,这样每次用户尝试获取信息时都不需要再次计算它们,但是使用那么多过滤器它似乎只是存储大量信息的方法而且我只是无法想出另一种方式..

这就是我的SQL查询的样子:

SELECT
p.processID, p.runtime, p.servername
FROM
public.process p
WHERE
(p.starttime BETWEEN 1356994800000 AND 1359414000000) AND
p.MainMethodID = '12';

编辑: MainMethodID是一个BIGINT,我已经使用了#34; starttime"的索引。和#34; MainMethodID"。我的问题是,如果有一种方法可以更快地为GUI应用程序获得结果,因为5秒以上的所有内容看起来都相当长,而且我认为由于许多过滤器选项(使用的方法和时间范围),我之前无法计算每次过程之前解释过。

EXPLAIN提供以下结果:

1, 'SIMPLE', 'p', 'ref', 'MainMethodID,startTime', 'MainMethodID', '8', 'const', 28128, 'Using index condition; Using where'

1 个答案:

答案 0 :(得分:1)

(MainMethodId, startTime)

上创建综合索引