[予約] MySQLデータベースのインタビューの質問

 まず、リレーショナルデータベースのインデックスが非常に重要な概念であるため、インデックスに関するいくつかの質問にお答えください。

a)は、インデックスの目的は何ですか?
  1. 特定の情報を迅速に検索速度を向上させるために、テーブル内のデータにアクセス

  2. データベーステーブル内のデータの各行の一意性を保証するために一意のインデックスを作成します。

  3. テーブルとテーブル加速度との接続

  4. パケットデータ検索を使用して句をソートすると、大幅にグループ化し、発注クエリ時間を短縮することができます 

b)は、インデックス上のいずれかの負の影響は、データベースシステムでありますか?

悪影響:
作成したインデックスとインデックスのメンテナンスデータの量が増加するの増加に伴い、この時間は時間がかかります。インデックスは、物理的なスペースを取る必要があるだけでなく、データテーブルスペースを占有する必要があり、各インデックスは、物理的なスペースを取る必要がある。とき表インデックスは、このようにデータのメンテナンスの速度を落とす、ダイナミックなメンテナンスする必要があります場合は、追加、削除、変更します。

C)、どのようなデータテーブルをインデックスの原則?
  1. 最も頻繁に使用されるの検索を絞り込むためのフィールドにインデックスに。

  2. インデックスでは、必要が頻繁に使用されるフィールドをソートします

d)に、どのような状況下でインデックス化すべきではありませんか?
  1. 列の値のまれ繰り返しに関与以上のクエリ内の列の場合、インデックス付きません。

  2. いくつかの特殊なデータ・タイプについて、そのようなので、上のテキストフィールド(テキスト)として、索引付けされません。

第二に、違いはMyISAMテーブルとInnoDBのMySQLデータベースに概説します

最も重要な特徴は、他のデータベースと区別そのプラグインのテーブルのストレージエンジンです。注意:ストレージエンジンはテーブルではなく、データベースに基づいています。

InnoDBテーブルとMyISAMの違い:

InnoDBストレージエンジン:メインのアプリケーション(オンライン・トランザクション処理、オンライン・トランザクション処理)OLTP指向の側面は、ACIDトランザクションストレージエンジンの最初のフルサポート(BDB最初のトランザクションストレージエンジンは開発を停止している)です。

特徴:

  • 行ロックの設計、外部キーのサポート。

  • Oracleは、読みノンロックに似たスタイルの一貫性をサポートしています(例:デフォルトのロックを生成しない読み出し動作)。

  • 論理空間内のInnoDBテーブルのデータを、自身が管理InnoDBは。MySQL4.1のバージョンから、各InnoDBストレージエンジンは、別々のファイルに表IBDに別々に格納することができます。

  • MVCC(マルチバージョン同時実行制御:ブロックは、書き込み読み書き詰まらないであろう読んでいない)を用いてのInnoDB(デフォルトが反復レベルで)高い並行性を達成するために、標準SQL分離レベルの四種類を達成します。

  • InnoDBはまた、クッションインサート(挿入バッファ)、二次ライト(二重書き込み)、適応ハッシュインデックス(適応ハッシュインデックス)、先読み(先読み)及び高性能機能の利用可能性を提供します。

  • データ集約(クラスタ化)テーブルを格納するための方法を使用してInnoDBは、各被験者が格納され、明示的に構成テーブルの主キーを指定しない場合(順次一次鍵記憶され、InnoDBが行ごとに6バイトを生成しますROWID、主キーなど);

  • InnoDBテーブルは、三個の隠しフィールドを有する:上記6バイトDB_ROW_IDに加えて、6バイトDB_TX_ID(トランザクションID)、及び7バイトDB_ROLL_PTR(アドレスは、対応するロールバックを指している)があります。これは、InnoDBのモニタで見ることができます。

MyISAMストレージエンジン: 公式のMySQLのストレージエンジン、OLAP(オンライン分析処理、オンライン分析処理)地域のための主要なアプリケーションです。

特徴:

  • これは、テーブルとフルテキストインデックスをサポートするために、トランザクションをサポートしていません。動作速度;

  • MYDのMyISAMストレージ・エンジン・テーブルおよびデータ・ファイル、MYIを格納するために使用されるインデックスファイルを保存するための組成MYI、MYD。MySQLデータベースのキャッシュのみのインデックスファイルは、オペレーティングシステム自体にキャッシュデータファイルが完了するまで、
    MySQL5.0のバージョンが始まった、MyISAMテーブルのデフォルトの256Tは、単一テーブルのデータをサポートしています。

第三に、外部接続MySQLは、自己接続コネクタとの違いを説明しました

私はクロスコネクトが何であるかについてお話しましょう: クロスコネクトも直積として知られ、それはどんな条件なしで、直接、11試合で別のテーブルにすべてのレコードとテーブルのすべてのレコードを意味します。

Enが  、唯一のクロスコネクトの条件であるいくつかの条件に基づいて一致するレコードをスクリーニングレコードの条件を満たしていないつまり、接続ラインは唯一の試合を接続し、結果セットには表示されません。

外側のコネクタ  の接続条件を満たす行の結果セットではないだけでなく、左テーブル、右のテーブルまたは2つのテーブルのすべてのデータ行を含み、

3つのケースが順次右の外部結合、左外部結合と呼ばれ、完全な外部結合します。

主テーブルのテーブルを残し、外側にも左接続として知られ、参加左、すべてのレコードがテーブルのままになりますが一致していない右の表のこれらのレコードのために、まだそれらのフィールド値が右に対応することを示さなければならない、結果セットに表示されます埋めるためにNULL。

また、右側の接続、右のテーブルのプライマリテーブル、結果セットの右側のテーブルのすべてのレコードとして知られ、外部結合右。左と右の接続は互換性があり、MySQLは現在、完全な外部結合をサポートしていません。

おすすめ

転載: www.cnblogs.com/smallwangmusk/p/11355323.html