处理程序tbl_name打开[[as]别名)处理程序tbl_name读index_name{= | <= | >= | < | >} (value1,value2,…where_condition[限制……)处理程序tbl_name读index_name{first | next | prev | last} [wherewhere_condition[限制……)处理程序tbl_name读取{first | next} [wherewhere_condition[限制……)处理程序tbl_name关闭
处理程序
ステトメントは,テブルストレジエンジンンタフェスへの直接アクセスを提供します。これは,InnoDB
およびMyISAM
テ,ブルに使用できます。
处理程序……开放
ステ,トメントはテ,ブルを開き,それを以降の处理程序……读
ステ,トメントを使用してアクセス可能にします。このテ,ブルオブジェクトはほかのセッションによって共有されておらず,このセッションが处理程序……关闭
を呼び出すか,またはこのセッションが終了するまでクロ,ズされません。エリアスを使用してテブルを開いた場合は,その開かれたテブルへのほかの处理程序
ステトメントによるそれ以降の参照は,テブル名ではなくエリアスを使用する必要があります。
最初の处理程序……读
構文は,指定された▪▪ンデックスが特定の値を満たし,か▪▪在哪里
条件が満たされている行をフェッチします。マルチカラムaapl . aapl .ンデックスがある場合は,aapl .ンデックスカラム値をカンマ区切りリストとして指定します。ンデックス内のすべてのカラムの値を指定するか、またはインデックスカラムの左端のプリフィクスの値を指定します。インデックスmy_idx
に,col_a
、col_b
,およびcol_c
という名前の3のカラムがその順序で含まれているとします。处理程序
ステートメントは,そのインデックス内の3つのすべてのカラム,または左端のプリフィクス内のカラムの値を指定できます。例:
处理程序……读my_idx = (col_a_val col_b_val col_c_val)……处理程序……读取my_idx = (col_a_val,col_b_val)…处理程序……读取my_idx = (col_a_val)…
处理程序
インタフェースを使用してテーブルの主键
を参照するには,引用符で囲まれた識別子“主”
を使用します。
处理程序tbl_name阅读“primary”…
2番目の处理程序……读
構文は,在哪里
条件に一致する▪▪ンデックス順序でテ▪▪ブルの行をフェッチします。
3番目の处理程序……读
構文は,在哪里
条件に一致する自然な行順序でテ,ブルの行をフェッチします。これは,フルテ,ブルスキャンが望ましい場合は,处理程序
より高速です。自然な行順序とは,行がtbl_name
读index_name
MyISAM
テブルデタファル内に格納されている順序のことです。このステ,トメントはInnoDB
テ,ブルに対しても機能しますが,個別のデ,タファ,ルが存在しないため,このような概念はありません。
限制
句を使用しない場合は,すべての形式の处理程序……读
が単一行(使用可能な場合)をフェッチします。特定の行数を返すには,限制
句を含めます。その構文は,选择
ステ,トメントの場合と同じです。セクション13.2.9 " select構文"を参照してください。
处理程序……关闭
は,处理程序……开放
でオ,プンされたテ,ブルをクロ,ズします。
通常の选择
ステ,トメントの代わりに处理程序
。
处理程序
は选择
より高速です。处理程序……开放
に対して,指定されたストレ,ジエンジンハンドラオブジェクトが割り当てられます。このオブジェクトは,そのテ,ブルに対する以降の处理程序
ステ,トメントに再利用されます。ステ,トメントごとに再初期化する必要はありません。関連する解析が少なくなります。
オプティマザまたはクエリチェックのオバヘッドがありません。
ハンドラ▪ンタフェ▪スは(たとえば,ダ,ティ,読み取りが許可されるような)デ,タの整合性のある外観を提供する必要がないため,ストレ,ジエンジンは,
选择
が通常は許可しない最適化を使用できます。
处理程序
によって,ISAM
に似た低レベルのMySQL。(キ値格納パラダムを使用するアプリケションを適応させるための代替手段にいては,セクション14.18 " InnoDBとmemcachedの統合"を参照してください。)处理程序
を使用すると,选择
では実現が困難な(または,不可能でさえある)方法でデタベスをたどることができます。处理程序
インタフェースは,データベースに対話型ユーザーインタフェースを提供するアプリケーションの操作時にデータを調べるためのより自然な方法です。
处理程序
は,やや低レベルのステ,トメントです。たとえば,一貫性が提供されません。まり,处理程序……开放
はテ,ブルのスナップショットを作成せず,テ,ブルのロックも行いません。これは,处理程序……开放
ステートメントが発行されたあと,テーブルデータを(現在のセッションまたはその他のセッションで)変更することができ,これらの変更が处理程序……下一个
または处理程序……上一页
スキャンに部分的にしか表示されない可能性があることを示します。
開かれたハンドラを閉じ,再度開くようにマ,クすることができます。その場合,このハンドラはテ,ブル内の位置を失います。これは,次の両方の状況が当てはまる場合に発生します。
このハンドラのテ,ブルに対して,いずれかのセッションが
刷新表
またはDDLステ,トメントを実行している。このハンドラを開いているセッションが,テ,ブルを使用する
处理程序
以外のステ,トメントを実行している。
テ,ブルに対する截断表
は,处理程序打开
で開かれたそのテ,ブルのすべてのハンドラを閉じます。
刷新表
でフラッシュされたテ,ブルがtbl_name
带读锁处理程序
で開かれた場合,そのハンドラは暗黙的にフラッシュされ,その位置を失います。
处理程序
は,パ,ティション化されたテ,ブルではサポ,トされません。