2016-12-05 5 views
1

私はここでMySQL制限に向かって1つの質問を得ました。MySQLの制限イベントが発生したとき

  • 、私はLIMIT(10)との大きさを制限
  • (WHERE、などなど、SELECT)のiは、クエリ操作を行って後、私はその後、100行
  • で一つのテーブルを得たとしましょう

この場合、MySQLは最初に100行のレコードを取得してから、サイズ10にのみ切り捨てます。または結果のサイズを10までカウントし、残りの検索を停止しますか?

答えて

4

これを論理的に考えてみましょう。おそらく答えが明らかになるでしょう。 MySQLが返された10件のレコードが実際にあることを保証することができるようにするために、結果セットのすべてのレコードの順序位置を知る必要があることを直感的でなければなりません

SELECT someCol 
FROM yourTable 
ORDER BY someCol 
LIMIT 10 

:あなたは次のクエリを使用している想像してみて結果セット全体の最初の10レコード。

MySQLがスキャン中にヒットした最初の10個のレコードを取得するだけだった場合、一般に、返されたレコードが指定した順序を保証するとは限りません。

関連する問題