MySQLはそれがどのように動作するかですか?概要パンチ

起動オプションとシステム変数

  1. コマンドラインで設定オプションを使用して一つのMySQL設定、。長い形態と短い点の形、スペースなし前後の記号=を等しくしています。「 - 」プレフィックス共通オプションについてオプションプラスの最初の文字の前に、ある短いフォームを、提供しています。これは、ときにのみ有効時間を開始しました。

  2. 設定ファイルにオプションを使用して、2つのMySQL設定。特定のパス内の設定ファイルを探し、INI、CNFは、コンフィギュレーション・ファイルです。コンフィギュレーションファイルの内容をグループ化することができます。あなたはまた、特定のプロファイルを指定することができ、コマンドから設定ファイルの優先順位ラインを指定することができます。

  3. mysqは、システム変数を設定します。あなたはシステム変数起動時オプションまたはコンフィギュレーションファイルを設定することができます。[一致するパターンLIKE]クエリシステム環境変数、SHOW変数を設定します。

  4. MySQLのスコープシステム変数、GLOBALとSESSION。

  5. mysqlの状態変数は、自動的に生成され、表示のみをサポートしています。

 

文字セットと比較ルール

  1. パンチ:1.比較ルールと文字セット、文字セットは、文字の明確に定義された範囲、マッピングルールを必要とするルールは、バイナリに変換した後の比較規則の比較で、同じ文字セットは、多重比較のルールを有することができます。
  2. いくつかの重要な文字。ASCII <ISO 8859-1 <2312 <GBK <UTF8
  3. MySQLは、文字セットと照合をサポートしています。実質的にすべての文字セットがサポートされますが、一般的に使用される2つutf8mb3とutf8mb4に、ルールを表示SHOW COLLATION LIKE「utf8の\ _%」、ルールは大文字と小文字が区別とアクセントであることを名前サフィックス手段を比較します。
  4. MySQLの文字セットと比較規則、サーバーレベル、データベースレベル、テーブルレベルおよび列レベルの4つのレベル。あなたは、データの文字セットがデータによってサポートされていない挿入すると、それはエラーまたは文字化けします。
  5. セットまたは文字比較ルールのどちらか一方を修正するには、相手が自動的に変更されます。
  6. MySQLの変換文字セットは、システム変数の文字セットがcharacter_set_clientサーバーの復号要求を使用し、システム変数のcharacter_set_connectionに処理要求に文字列を設定しますリクエストがサーバでは、サーバはクライアントにデータをシステム変数character_set_resultsサーバーを返します文字セットを使用します。3つのシステム変数のこの統一されたセットは、同じ文字セットSET名utf8です。
  7. character_set_connectionに文字セットと、特定の操作列の文字集合の代表後に再び同様の操作をした場合、直接操作に関連して、それ以外の場合は、最初の文字セットの特定の操作列に変換する必要があります

InnoDBのレコード構造

  1. InnoDBページの概念は、ディスク相互作用およびメモリ内のページ単位、ページサイズが16キロバイトであります
  2. INNODB行フォーマット、データがディスクモードに格納され、動的ためのInnoDBデフォルト4、コンパクト、冗長、動的、圧縮があります。行形式は、構文テーブル試験()ROW_FORMAT =成形体を作成し、指定しました。
  3. COMPACT行フォーマット、フィールド長が長いリスト、NULL値のリストとなり、記録ヘッドの情報は、実データが記録されています。前記記録フィールド長リスト変数の長さフィールド(VARCHAR(M)の辺の長さ、VARBINARY(M)、TEXT実際のデータは、列のバイト長、逆のストレージのために占有する。そして、非NULLの列の長さの店だけ内容が占領しました。
  4. NULL値リストは、統計情報は、預金が1 NULLでない、ヌル値の列のNULL値は、我々は1スタンド許す逆の順序で格納されたビット、1バイトの最小値、0未満ではなく、プラス1バイト場合。
  5. ヘッダ情報、固定5バイトを記録し、付加的な情報が格納されます
  6. 実データを記録、3つの隠されたカラム(ROW_ID(主キーID、6バイト、独自の設定、これは)ない、(トランザクションID、6バイト)、roll_pointerにTRANSACTION_ID(ロールバックポインタ、7バイト))
  7. CHAR(M)列の形式で格納され、格納空の文字列は、デザインは、断片化が、より多くのスペースになりやすいないよう、文字セットに対応する文字の最小数を占有します。
  8. 冗長行フォーマット。フィールド長は、(すべての列が格納されたオフセット・フィールドの長さに応じて長さ情報が格納されている)リストを相殺しました。NULL値を処理するときに一方がNULLである場合、ビットオフセット値に最初の列に相当するが、の基礎としてNULLさもなければありません。
  9. 行オーバーフローデータ。データ量がオーバーフローラインは16キロバイトを超える表示、ページストア768のバイトは、他のページに格納されている残りのデータを分散、ページ20バイトは、別のページアドレスを記録します。
  10.  (ヘッダ情報記録隠れ列を除く)行のすべての列を超えない65535バイトの組み合わせバイト長によって占め。
  11. 動的な行形式は、上述コンパクト行形式上記格納されているダイナミック行フォーマットとの違いは、他のページへのすべての実際のデータを有することになります。

おすすめ

転載: www.cnblogs.com/pyweb/p/12149900.html