我怎样才能加快这份报告的速度?

时间:2015-12-11 09:28:30

标签: mysql

有谁能告诉我为什么这么慢,请问如何纠正呢?即使使用"限制1"也需要15秒才能运行。在上面。即使没有子查询,仍然需要10秒。

SELECT 
SP_GETCODECODE(t9mod) AS 'Mod',
p.rrnhs AS NHS,
CONCAT(p.idfnam, ' ', p.idnam) AS 'Name',
(SELECT 
        e.c1k
    FROM
        electrolytes e
    WHERE
        p.oid = e.fk_oid
    ORDER BY e.c1date DESC
    LIMIT 1) AS 'Potassium'
FROM
timeline t1
    LEFT JOIN
person p ON t1.fk_oid = p.oid
WHERE
t1.oid = (SELECT 
        t2.oid
    FROM
        timeline t2
    WHERE
        t2.fk_oid = t1.fk_oid
    ORDER BY t2.oid DESC
    LIMIT 1)
    AND t9mod IN (19301 , 19302,
    19304,
    19309,
    19371,
    5106,
    5120,
    140055,
    140067)
    AND p.isactive = - 1
LIMIT 1

这里的想法是从TIMELINE中提取所有记录,其中一个T9MOD代码作为WHERE中的顶部条目。与PERSON表中的患者姓名一起,然后子查询从患者中提取患者最新的钾。

我在研究和编译时已经超出了我的编码能力但却无法理解(作为新手)如何更快地完成它。

谢谢,

迈克

0 个答案:

没有答案