【发布时间】:2018-08-09 00:59:44
【问题描述】:
我需要使用 Hibernate (HQL) 在 MySQL 中运行此查询:
SELECT t.atrib2, MY_FUNC(attrib1), MY_FUNC(attrib2), o.atrib1
FROM (SELECT t.atrib1, t.atrib2, t.atrib3,o.atrib1
FROM myTable t JOIN otherTable o
ON O.ID = T.O_ID
ORDER BY creationDate
LIMIT 0, 100000) t;
我不能像这样使用 SELECT:
SELECT t.atrib2, MY_FUNC(attrib1), MY_FUNC(attrib2), o.atrib1
FROM myTable t JOIN otherTable o
ON o.ID = t.o_ID
ORDER BY creationDate
LIMIT 0, 100000;
因为 MySQL 在加入表时将函数 MY_FUNC 应用于所有行,这变得太慢了,就像在线程上一样: MySQL very slow query with custom function in spite of LIMIT.
如何使用 HQL 正确编写本文中的第一个查询?
【问题讨论】: