Javaの最も一般的な面接の質問:モジュール17

セブンティーンは、MySQL

 

データベースには、どのような3パラダイム164ですか?

  • 最初のパラダイムは、各列は、データベーステーブル内の不可分すなわちアトミックデータ項目である、原子列と強調しました。

  • 第二のパラダイム:エンティティが主キーに完全に依存要件を属性。完全に依存いわゆるキー属性の主要部の存在に依存しないだけ指します。

  • 第3のパターン:任意の非プライマリプロパティは、他の非プライマリプロパティに依存していません。

165 7つのデータの総内部増分テーブル、最後の二つのデータを削除し、MySQLデータベースを再起動して、データの一部を挿入し、この時間idが少ないですか?

  • テーブルタイプはMyISAMテーブルである場合、そのIDが18です。

  • テーブル・タイプがInnoDBがある場合は、そのIDが15です。

 

InnoDBテーブルはメモリに記録され、最大の主キーIDをインクリメントしますので、再起動後にIDの最大の損失になります。

166は、どのようにデータベースの現在のバージョンを取得するには?

MySQLデータベースの現在のバージョンを取得するために選択したバージョン()を使用してください。

167は何ACIDことについて話しますか?

  • アトミック(原子性):すべての操作のトランザクション(トランザクション)で、または完了、または全て完了していないが、リンクの途中で終わりません。トランザクションの実行中にエラーが発生したトランザクションが同じことを行ったことがないとして、それは、トランザクションの開始前の状態に(ロールバック)に復元されます。これは、既約不可分トランザクション、です。

  • 一貫性(一貫性):、トランザクションが開始される前に、トランザクションの終了後に、データベースの整合性が破損していません。これは、書き込まれたデータがすべてデフォルトの制約、トリガー、および他のカスケードロールバックに完全に準拠しなければならないことを意味します。

  • 分離(隔離):同時トランザクション・データベースの複数の同時読み出しを可能にし、機能を記述し、そのデータを変更する複数のトランザクションが同時に矛盾したデータにクロス実行結果を実行するとき、分離を防止することができます。非コミット読み取り(非コミット読み取り)、コミットを読む(コミット読み取り)、反復可能読み取り(反復可能読み取り)及びシリアライズ(直列化)を含む異なるレベルに分割トランザクション分離。

  • 耐久性(持続性):トランザクションの後、データを変更するには、システム障害が失われることはありません場合でも、永続的です。

168のcharとvarcharがある違いは何ですか?

CHAR(n)を:固定長型、あなたが「ABC」の三個の文字を入力して、このようなサブスクリプション(10)、として、スペースまたはcharの10バイトを占め、他の7つはNULLバイトです。

利点をチャット:高効率;欠点:スペース、アプリケーションシナリオ:MD5の値が使用チャーに非常に適しパスワード、固定長を記憶します。

VARCHAR(N):可変長、値は、その長さのバイト長を記録するために使用される各バイトの値と一緒に占める記憶されています。

したがって、適切なスペースの考慮事項varcahrから、効率、両方のトレードオフの使用から適当と考えチャー。

違い169 floatとdoubleそれは何ですか?

  • フロートは8桁まで記憶し、メモリ内の4つのバイトを占有することができます。

  • ほとんどのダブル店16進数で、かつメモリ内の8つのバイトがあります。

170 mysqlのEN、左は右の違いは何か参加し、参加しますか?

エンキーワードは:インナー参加、左を接続:参加左、右の接続を:右に参加します。

 

接続を示すマッチングデータと関連付けられている。左側は左側に表示されているすべてのテーブルに接続され、右の表は、修飾されたデータを示し、右の反対側を接続します。

171 MySQLのインデックスを達成するためにどのように?

インデックスは、データを検索するための効率的な達成するために、データに何らかの方法で特定の検索アルゴリズムを満たすために、データ構造、およびこれらのデータ構造です。

 

現在主流のデータベースエンジンのB +ツリーインデックスが実装されたインデックス上のMySQL、異なるデータ・エンジンは異なる達成するの後、しかし具体的には、検索効率のB +ツリーは、パフォーマンスの二分法に到達することができ、データ領域を探し私たちは、完全なデータ構造を発見し、すべてのインデックスのパフォーマンスは優れています。

需要を満たすためにかどうかを確認する方法172インデックスmysqlの?

ビューのSQLクエリを使用する方法を説明しますが実行され、インデックスがあなたのニーズを分析することです。

 

语法説明:テーブルタイプ= 1 SELECT * FROMを説明します。

173は、トランザクション分離データベースについて言いますか?

MySQLのトランザクション分離は、MySQLのini設定ファイルに追加し、最終的にファイル:.トランザクション分離= REPEATABLE-READに追加しました

 

利用可能な設定値:READ-UNCOMMITTED、READ-COMMITTED、REPEATABLE-READ、SERIALIZABLE。

 

  • コミットされていない読み取り、最低の分離レベル、コミットされていないトランザクションの前に、それが他のトランザクションによって読み取ることができる(マジック読み出され、ダーティ・リード、非反復可能読み取り):UNCOMMITTED-READ。

  • READ-COMMITTED:トランザクションはに他のトランザクションによって読み取られるようにコミットした後(原因ファントム読み取り、非反復可能読み取り)、コミット読みください。

  • REPEATABLE-READ:同じデータを複数回読んで反復可能読み取り、デフォルトのレベルは、コンテンツおよびトランザクションの開始時間の値が同じで、他のデータコミットされていないトランザクションを禁止するために読み取ら(原因ファントムリード)であることを確実にします。

  • SERIALIZABLE:直列化、コストのかかる最も信頼性の高い分離レベル、汚れを防ぐことができます分離レベル読み取り、反復不能読み取り、ファントム読み取り。

 

ダーティ読み取り:トランザクションが別のトランザクションがコミットされていないデータを読み取ることができます。たとえば、トランザクションが提出されていない時点で、取引記録Aを、挿入しようとした後、Aに他のトランザクション・レコードを読み取ろうとします

 

非反復可能読み取り:同じデータを複数回読んで、取引を指します。

 

マジック読書:結果セットが同じではありません返す同じトランザクションのクエリ内で複数回参照します。例えば、同じトランザクションNレコードが最初のクエリが、同じ条件下での第二の問い合わせは、幻覚と思われるN + 1のレコードが存在します。別のトランザクションも、同じレコードが変更され、記録されたすべてのデータラインをデータ内容を最初のトランザクションデータ内の結果セットを追加したり、削除したり、修正するためのマジック読書が発生するよりも多くのまたは少ないとなります。

一般的なエンジンについての174 MySQLの話?

InnoDBエンジン:InnoDBデータベースエンジンは、酸業務のサポートを提供し、また制約行レベルのロックを提供し、外部キーは、その設計目標は、大きなデータ容量のデータベース・システムを処理するためです。MySQLを実行している場合、InnoDBのバッファプールには、バッファリングデータとインデックスのメモリ内に作成されます。しかし、エンジンがフルテキスト検索するだけでなく、比較的遅いスタートをサポートしていません、それは保存されません、テーブルの行数は、テーブルのコマンドから選択数(*)を実行するので、ときとき全表スキャンの必要性。ロックのサイズが小さいため、ロックが完全なテーブルを作成するので、同時実行シーンのより高度で効率が向上します使用することはありません。

 

MyIASMエンジン:MySQLのデフォルトのエンジン、しかし、トランザクションのサポートを提供し、行レベルのロックと外部キーをサポートしていませんしません。必要がテーブルをロックしたときしたがって、書き込み動作挿入および更新ステートメントを実行するときに行われ、それは効率をもたらすであろう低減されます。しかし、違いがある、とのInnoDB、MyIASMエンジンは、テーブルの行数を維持するので、ステートメントが直接、テーブル全体をスキャンする必要なしに保存された値を読み取ることができたときに、テーブルからSELECT COUNT(*)を実行するとき。だから、テーブルには、書き込み操作を、好ましいデータベースエンジンとしてMyIASMをすることができ、トランザクションのサポートを必要としないよりもはるかに読みます。

MySQLの行ロックとテーブルロックに関する175話?

MyISAMテーブルは、デフォルトでテーブルロック、InnoDBの支持テーブルと行ロック、行ロックをサポートしています。

 

  • テーブルレベルロック:小さなオーバーヘッドは、速いロック、デッドロックが発生しません。大きな粒子サイズ、ロック競合の可能性が最も高い、同時実行の最小量をロックします。

  • 行レベルのロッキング:大きなオーバヘッド、低速ロック、デッドロックが存在するであろう。ロックの努力、ロックの競合、同時実行の最高度の小さな確率。

176は、ロック楽観と悲観的な何かを言いますか?

  • オプティミスティック・ロック:他の人がこの時間の間に更新提出したときにデータが変更されていないので、それはロックされませんが、拾うたびにデータを更新する必要はありません他人を決定します。

  • ペシミスティック・ロック:人々はロックが解除されるまで、このデータはブロックされます撮りたいので、他の誰かがデータをピックアップするたびに、彼女はデータを取ったたびにロックされ、変更されていると考えられます。

 

ないない場合は、データベースのオプティミスティック・ロックは、実装する必要があり、内部テーブル内の各変更の成功値+ 1をバージョンフィールドを追加しますので、あなたは、データベースのバージョンと現在のバージョンを持っている場合、それぞれの変更は、最初は、比較するとき、および修正、そう楽観的ロックを達成します。

そこに意味177 MySQLのトラブルシューティング?

  • 現在のショーPROCESSLISTすべての接続情報を表示するコマンドを使用します。

  • SQL文の実行計画を照会するコマンドを説明し使用します。

  • 遅いSQLクエリのスロークエリログをオンにします。

MySQLのパフォーマンスの最適化を行う方法178?

  • 検索フィールドのインデックスを作成します。

  • *選択の使用を避け、照会するフィールドが一覧表示されます。

  • 垂直分割部テーブル。

  • 右のストレージエンジンを選択します。

 

(終わり)

おすすめ

転載: www.cnblogs.com/xiaofengwang/p/11258892.html