0
我有一个简单的表格,我必须提取一些记录。问题是,评价函数是一个非常耗时的存储过程,所以我不应该来两次在这个句子中这样称呼它:MySQL优化语句
SELECT *, slow_sp(row) FROM table WHERE slow_sp(row)>0 ORDER BY dist DESC LIMIT 10
首先我想在优化这样的:
SELECT *, slow_sp(row) AS value FROM table WHERE value>0 ORDER BY dist DESC LIMIT 10
但是它不起作用,因为在评估WHERE子句时不会处理“值”。
任何想法来优化这句话?谢谢。
根据文本语料库中单词的“重要性”,slow_sp返回0到100之间的值。基本上访问一组预先计算的值来确定一个int值。 我会尝试HAVING值。谢谢。 – Ivan 2010-03-23 15:21:27
这是一个MySQL函数,对不对?基本上在包含where语句的每个列上添加索引。如果没有在相关函数中看到查询,我不能再帮忙。 – raveren 2010-03-23 15:32:19
没关系。我忘记了HAVING子句可以提供帮助。现在它正在工作。谢谢! – Ivan 2010-03-23 17:15:07