ホームページ >データベース >mysql チュートリアル >mysql での制限の高度な使用法
通常、SQL ステートメントを使用するときは、比較的単純な使用法をいくつか使用して、MySQL での制限の高度な使用法について説明します。
mysql 制限効率:
select `id`,`title`,`describle`,`created` from myvbga_table where click = xxx 制限オフセット, //概要: BLOB がない場合。 /text フィールドと単一行レコードは比較的小さいため、プロセスを高速化するために制限を大きく設定できます。
limit オフセット値は比較的小さい:
select `id`,`title`,`describle`,`created` from vbga_table limit 10,10 //複数回実行すると、時間は 0.0004 ~ 0.0005 の間のままです
Select `id`,`title`,`describe`,`created` From vbga_table Where click >=(Select click From vbga_table Order By click limit 10,1) limit 10 //複数回実行すると、時間は 0.0005 ~ 0.0006 の間のままです。時間、主に 0.0006
limit オフセット値は比較的大きい:
select `id`,`title`,`describle`,`created` from vbga_table limit 10000,10 //複数回実行しても、時間は約 0.0187 のままです。
Select `id`,`title`,`describle`,`created` From vbga_table Where click >=(Select click From vbga_table Order By click limit 10000,1) limit 10 //複数回実行しても、時間は約 0.0061 のままです。 、前者の1/3にすぎません。オフセットが大きいほど、後者の方が優れていると予想できます。
Mysql 制限の使用法:
LIMIT 句を使用して、SELECT ステートメントに指定された数のレコードを強制的に返すことができます
SELECT `id`,`title`,`describle`,`created` FROM vbga_table LIMIT [offset , ] rows | OFFSET offset
mysql> SELECT `id`,`title`,`descript`,`created` FROM vbga_table LIMIT 5,10; //レコード行 6-15 を取得します。特定のオフセット レコード セットの末尾までのすべてのレコード行を測定するには、2 番目のパラメーターを -1 に指定します。
mysql> SELECT `id`,`title`,`descript`,`created` FROM vbga_table LIMIT 95 ,-1; // レコード行 96 から最後を取得します。 // パラメーターが 1 つだけ指定された場合は、レコード行の最大数を返すことになります:
mysql> SELECT `id`,`title`,`descript`,` created` FROM vbga_table LIMIT 5 ; //最初の 5 レコード行を取得します //言い換えると、LIMIT n は LIMIT 0,n と同等です。
mysql制限サブクエリの使用例:
select `id`,`title`,`descript`,`created` from vbga_table where id in (select t.id from (select `id`,`title`, ` descript`,`created` from vbga_table limit 10)as t)
mysql 制限オフセットの使用法:
SELECT キーワード FROM `zjoe_table` WHERE advicerid='59' キーワード順 LIMIT 2 OFFSET 1; SQL、limitの後に2つのデータが続き、offsetの後に1番目のデータから読み込みます
~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SELECT `keyword` FROM `zjoe_table` WHERE advicerid= '59' ORDER BY キーワード LIMIT 2,1; //この SQL では、limit の後、2 番目の項目から読み込みを開始し、1 つの情報を読み込みます。
mysqlストアドプロシージャでのlimit変数の使用法
CREATE PROCEDURE Getble_table(_id int,_limit int)
BEGIN
PREPARE s1 FROM 'SELECT `id`,`title`,`descible`,`created` FROM ble_table WHERE Cityid=? ORDER BY sendtime DESC LIMIT ?';
set @a=_id;
set @b=_limit;
EXECUTE s1 USING @a,@b;
DEALLOCATE PREPARE s1;
END;
上記は、Mysql での制限の高度な使用法をいくつかまとめたもので、将来的に皆さんのお役に立てば幸いです。
関連記事:
以上がmysql での制限の高度な使用法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。