2013-06-05 21 views
1

我在Mysql Script Im中试图优化这个代码行(脚本需要7个小时才能运行)。我发现这条线对超过60%的执行时间负责。这是一个动态表吗?或者什么

# #Fill temp table 
SELECT 

    DISTINCT clv_temp(view01.user_email,,user_number) AS `Authentic` 

FROM(

SELECT DISTINCT u_mail, u_phone 

FROM 
Cust_orders 
ORDER BY order_date ASC 

)view01; 
+0

什么是'clv_temp()'? – Raptor

+2

我认为,子选择中的阶级顺序是毫无意义的。 – LuigiEdlCarno

+0

clv_temp应该是临时表 –

回答

3

过度运行时大概是在自定义函数clv_temp的定义,所以你需要找到该定义。

请注意,目前该功能正在针对子查询返回的每一行运行 - 即对于cust_orders表中的每个唯一组合u_mailu_phone。这通常是处理数据的非常低效的方式,您可能需要执行的操作是以集合方式实现clv_temp当前执行的逻辑,而不是一次一行。

相关问题