10bet网址
MySQL 5.6リファレンスマニュアル
下载本手册
PDF(美国高级主任)- 26.8 mb
PDF (A4)- 26.8 mb


19.3.5パ,ティションに関する情報を取得する

このセクションでは,既存のパーティションに関する情報を取得する方法(いくつかの方法が可能)について説明します。そのような情報を取得する方法には次のものが含まれます。

  • 显示创建表ステートメントを使用して,パーティション化されたテーブルの作成に使用されたパーティショニング句を表示する。

  • 显示表状态ステ,トメントを使用して,テ,ブルがパ,ティション化されているかどうかを判別する。

  • INFORMATION_SCHEMA。分区テ,ブルを照会する。

  • 解释分区选择ステ,トメントを使用して,指定された选择によってどのパ,ティションが使用されているかを確認する。

この章のほかの場所でも説明しているように,显示创建表の出力にはパ,ティション化されたテ,ブルの作成に使用された分区的句が含まれます。例:

mysql >显示创建表trb3 \ G  *************************** 1。行  *************************** 表:trb3创建表:创建表“trb3”(“id”int(11)默认为空,“名字”varchar(50)默认为空,“购买”日期默认空)引擎=默认的MyISAM CHARSET = latin1分区中的一个范围(一年(购买))(分区p0值小于(1990)= MyISAM引擎,分区p1值小于(1995)= MyISAM引擎,分区p2值小于(2000)= MyISAM引擎,分区p3值小于(2005)= MyISAM引擎)1行组(0.00秒)

パ,ティション化されたテ,ブルに対する显示表状态の出力は,Create_optionsカラムに文字列分区が含まれることを除いて,パ,ティション化されていないテ,ブルの場合と同じです。引擎カラムには,テーブルのすべてのパーティションによって使用されるストレージエンジンの名前が含まれます。(このステトメントにいての詳細は,セクション13.7.5.37 " show table status構文"を参照してください)。

パ,ティションに関する情報は,分区テ,ブルを含むINFORMATION_SCHEMAからも取得できます。セクション21.13 " information_schema partitionsテブル"を参照してください。

指定された选择クエリ,でパ,ティション化されたテ,ブルのどのパ,ティションが使用されるかは,解释分区を使用して判別できます。分区キ,ワ,ドは,分区カラム(どのパ,ティションからのレコ,ドがクエリ,で照合されるかをリストする)を解释の出力に追加します。

テブルtrb1が次のように作成されて移入されているとします。

创建表trb1 (id INT,名称VARCHAR(50),购买日期)分区范围(id)(分区p0值小于(3),分区p1值小于(7),分区p2值小于(9),分区p3值小于(11));插入trb1值(1,“桌子组织者”,“2003-10-15”),(2,CD播放器,' 1993-11-05 '),(3,“电视机”,“1996-03-10”),(4,“书架”,“1982-01-10”),(5“健身自行车”,“2004-05-09”),(6,“沙发”,“1987-06-05”),(7,“爆米花机”,“2001-11-22”),(8,“水族馆”,“1992-08-04”),(9,学习桌,“1984-09-16”),(10,熔岩灯,' 1998-12-25 ');

SELECT * FROM trb1;などのクエリ,でどのパ,ティションが使用されるかを次のように確認できます。

mysql >解释分区SELECT * FROM trb1 \ G  *************************** 1。row *************************** id: 1 select_type: SIMPLE table: trb1 partitions: p0,p1,p2,p3 type: ALL possible_keys: NULL key: NULL key_len: NULL ref: NULL rows: 10 Extra: Using filesort

この場合,4のパ。ただし,次のようにパーティショニングキーを使用する制限条件をクエリーに追加すると,一致する値が含まれているパーティションのみがスキャンされることがわかります。

mysql > SELECT *从trb1解释分区id < 5 \ G  *************************** 1。row *************************** id: 1 select_type: SIMPLE table: trb1 partitions: p0,p1 type: ALL possible_keys: NULL key: NULL key_len: NULL ref: NULL rows: 10 Extra:使用where

解释分区では,普通の解释选择ステ,トメントと同様に,使用されているキ,および使用可能なキ,に関する情報が表示されます。

添加trb1的主键(id)查询OK, 10行受影响(0.03秒)记录:10副本:0警告:0 mysql>解释分区SELECT * FROM trb1 WHERE id < 5\G *************************** 1row *************************** id: 1 select_type: SIMPLE table: trb1 partitions: p0,p1 type: range possible_keys: PRIMARY key: PRIMARY key_len: 4 ref: NULL rows: 7 Extra:使用where

解释分区に関する次の制約および制限に注目してください。

  • 扩展および分区キ,ワ,ドは,同一解释……选择ステ,トメント内で一緒に使用できません。そうしようとすると構文エラ,になります。

  • クエリ,を検査するためにパ,ティション化されていないテ,ブルで解释分区を使用すると,エラ,は発生しませんが,分区カラムの値は常にとなります。

解释分区出力のカラムには,テ,ブルの合計行数が表示されます。

セクション13.8.2 " explain構文"も参照してください。