首頁 > 資料庫 > mysql教程 > MariaDB 對子查詢中 ORDER BY 的處理發生了怎樣的變化,建議的解決方案是什麼?

MariaDB 對子查詢中 ORDER BY 的處理發生了怎樣的變化,建議的解決方案是什麼?

Linda Hamilton
發布: 2024-12-31 15:38:16
原創
761 人瀏覽過

How Has MariaDB's Handling of ORDER BY in Subqueries Changed, and What's the Recommended Solution?

MySQL/MariaDB 查詢最佳化變更:子查詢中的Order By

使用MySQL 5.5 或更早版本進行查詢時,應用了子查詢的ORDER BY 子句在最外層查詢的SELECT 之前。然而,在 MariaDB 10.0.14 中,這種行為已經改變,當不存在 LIMIT 時,子查詢 ORDER BY 子句現在將被忽略。

為了解決這個問題,MariaDB 建議將 ORDER BY 子句應用於最外層查詢或使用子查詢中的 LIMIT。

已記錄行為

MariaDB 的文檔指出,FROM 子句中的子查詢是無序的行集,在此上下文中通常會忽略ORDER BY 子句。以下文件中的引用提供了更多詳細資訊:

「根據SQL 標準,「表」(以及FROM 子句中的子查詢)是一組無序的行。表中的行(或在FROM 子句中的子查詢中)不會以任何特定順序出現,這就是最佳化器可以忽略您指定的ORDER BY 子句的原因。子句出現。視為無序集並在最外層查詢中放置ORDER BY 子句或根據需要使用LIMIT。

以上是MariaDB 對子查詢中 ORDER BY 的處理發生了怎樣的變化,建議的解決方案是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板