相違点: 1. Oracle はページング操作に rownum を使用します。このメソッドは最初にクエリを実行してからソートするため、Rownum は以下とのみ比較できますが、それより大きいことはできません。2. Mysql はページング操作に制限を使用します。パラメーターの制限 ステートメント内に計算式として値を記述することはできないため、事前に計算する必要があります。
このチュートリアルの動作環境: Windows10 システム、mysql8.0.22 バージョン、Dell G3 コンピューター。
oracle ページングと mysql ページングの違いは何ですか
1. Mysql は制限ページングを使用します
select * from stu limit m, n; //m = (startPage-1)*pageSize,n = pageSize
PS:
(1) 最初のパラメータ値 m は開始行を表し、2 番目のパラメータは行数 (ページ サイズ) を表します。
(2) m= ( 2- 1)*10 1,n=10。つまり、制限 11,10 は行 11 から始まり 10 行かかります。これがページ 2 のデータです。
(3) m、n パラメータの値はステートメント内の計算式に記述できませんので、値を計算してからステートメントに記述する必要があります。
2. Oracle はページングに rownum を使用します
select * from ( select rownum rn,a.* from table_name a where rownum <= x //结束行,x = startPage*pageSize ) where rn >= y; //起始行,y = (startPage-1)*pageSize+1
PS:
(1)>= y, <= x は、 y行目(開始行)~x行目(終了行)。
(2) rownum は最初にクエリされてから並べ替えられるため、rownum より小さいもののみと比較できます。次に並べ替えられます。たとえば、条件は rownum>1 です。最初のデータ部分がクエリされると、 rownum が 1 の場合は不適格です。 2 番目、3 番目... も同様ですが、条件を満たしたことがないため、結果は返されません。したがって、クエリを実行するときにエイリアスを設定し、クエリの完了後にエイリアスを呼び出してより大きい値を決定する必要があります。
推奨学習: mysql ビデオ チュートリアル
以上がOracleページングとmysqlページングの違いは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。