1

我在试图优化的 Mysql 脚本中遇到了这行代码(该脚本需要 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;
4

1 回答 1

3

过多的运行时间大概在自定义函数的定义中clv_temp,所以你需要找到它的定义。

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

于 2013-06-05T11:20:37.120 回答