gpt4 book ai didi

MySQL:LIMIT 是否减少了对用户定义函数的调用次数?

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

我有一个计算量大的用户定义函数,我需要将其用于大型数据集。我不排序也不要求行数(没有 FOUND_ROWS)。如果我将 LIMIT 指定为查询的一部分,MYSQL 引擎是否在获取 LIMIT 行后实际停止调用该函数,或者它是否对整个数据集运行该函数?示例:

select cols, .. where fingerprint_match(col, arg) > score  limit 5;

理想情况下,如果第一(随机)行结果为及格分数,fingerprint_match 将被调用少至 5 次。

最佳答案

根据 Optimizing LIMIT Queries 记录:

MySQL sometimes optimizes a query that has a LIMIT <strong><em>row_count</em></strong> clause and no HAVING clause:

[ deletia ]
  • As soon as MySQL has sent the required number of rows to the client, it aborts the query unless you are using SQL_CALC_FOUND_ROWS.

关于MySQL:LIMIT 是否减少了对用户定义函数的调用次数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23758988/

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