我使用where子句創建分頁。 我需要知道偏移的真實行爲。mysql偏移量的真實行爲
- 是否根據與where子句匹配的所有行計算偏移量?或者
- 偏移量按照id計算並考慮所有行。例如。如果指定偏移量爲5,則將從表中的第6行開始返回行,即使前4行也不匹配where子句?
編輯:我想確定,因爲第二個行爲將是完全不正確的,並導致問題。 感謝您的回答。我無法評論,因爲我的瀏覽器在javascript和ajax上失敗了。
我使用where子句創建分頁。 我需要知道偏移的真實行爲。mysql偏移量的真實行爲
編輯:我想確定,因爲第二個行爲將是完全不正確的,並導致問題。 感謝您的回答。我無法評論,因爲我的瀏覽器在javascript和ajax上失敗了。
是的偏移是基於匹配where子句的所有行計算的。 試試吧。
您是否在談論使用LIMIT
條款? LIMIT對成功的比賽數量進行了限制,而不是總比賽數量。限制的偏移量部分是根據匹配來計算的,而不是所有符合條件的行。 MySQL不一定會以給定的順序掃描行,並且可能根本不掃描某些行,所以如果失敗的匹配索引較低,它不會縮短行的更改時間。
您應該可能會顯示一些代碼 – 2011-05-01 14:25:37
以及當您嘗試使用 – 2011-05-01 14:27:43
時會發生什麼(結果)如果選項#2是正確的,那麼執行分頁將會非常低效,您不覺得嗎? – 2011-05-01 14:32:18