2017-03-18 57 views
-2

我正在使用MySql和SQL_CALC_FOUND_ROWS。它似乎是禁用按順序的條款。MySql SQL_CALC_FOUND_ROWS禁用訂單條款

MySql的 Server版本:5.7.15-0ubuntu0.16.04.1(Ubuntu的)

SELECT SQL_NO_CACHE SQL_CALC_FOUND_ROWS * FROM(

禁用ORDER BY子句

我看到它應該固定。

任何人有我如何能解決這個問題的理想?

感謝 菲爾

http://www.michikono.com/2007/08/07/the-secret-of-sql_calc_found_rows/

發佈者Wade·鮑默於2006年5月14日晚上11:40 注意,使用SQL_CALC_FOUND_ROWS和FOUND_ROWS()禁用ORDER BY ... LIMIT優化(見到蟲子http://bugs.mysql.com/bug.php?id=18454http://bugs.mysql.com/bug.php?id=19553)。在修復之前,你應該在沒有它的情況下運行你自己的基準測試。

https://bugs.mysql.com/bug.php?id=18454

+0

按照建議使用單獨計數(*)... – Shadow

+0

單獨計數(*)不起作用。問題是SQL_CALC_FOUND_ROWS與FOUND_ROWS()很好地協作。 ORDER BY不適用於組合。 – philipfwilson

+0

你究竟是什麼意思,*「禁用ORDER BY子句」* ...?這些錯誤報告沒有提及任何有關錯誤排序的內容。是的,一個單獨的'COUNT()'* does *工作。爲什麼不呢?當然,你必須指定相同的'WHERE'。 –

回答