gpt4 book ai didi

MYSQL - 在 View 内多次调​​用函数时的性能问题

转载 作者:行者123 更新时间:2023-11-29 09:13:29 26 4
gpt4 key购买 nike

我遇到了一种情况,我必须在 View 内多次调​​用函数。像这样:

select a,b,c, GetRefund(a) AS REFUND, d-GetRefund(a) AS Payment_left FROM bla bla bla.

显然我无法将退款表加入到此 View 中(否则我会这样做)。看来解释计划没有考虑函数的原因,无论我使用多少次,解释看起来都是一样的。

我要问的是 - MYSQL 是否对此进行了优化并实际上调用了该函数一次?有更好的解决方案吗?非常感谢!

最佳答案

没有。 MySQL 对每个选定行调用此函数两次

有更好的解决办法吗?我们需要更多地了解您的数据库结构,但是类似这样的事情应该将其减少到每行一个函数调用:

SELECT 
a,b,c, REFUND, d-REFUND AS PaymentLeft
FROM (
select a,b,c,d, GetRefund(a) AS REFUND FROM bla bla bla
) AS sq

关于MYSQL - 在 View 内多次调​​用函数时的性能问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4813843/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com