MySQLの最近のインタビューの概要

限られた時間のために、今日、少し難しい労働、笑いの叫び間違って書かれたのZooKeeper APIのデモコード、およびので、この記事を使用して〜。MySQLの年前にここでは全体のインタビューの要約。この導入のコンテンツのいくつかの他、Mysqlの側面があります。

第二に、データベース(MySQLの)パート
1テーブル構造があります。学生の名前、コースIDは、学生が85ポイント以上の名前平均スコアの大きいを発見した方法を、3つのフィールドがスコア?
答え:SELECT student.id、student.stdentnameは、AからAVG(student_score.score)AS、学生student_score
WHERE student.id = student_score.studentid
GROUP BYはHAVING A> = 85 student_score.studentid
リファレンス:HTTPS://www.cnblogsを.COM / yuanyuan2017 / P / 11376305.html

2.MySQLストレージエンジン
A:InnoDBは、MyISAMテーブル、メモリ、マージ 、アーカイブ、フェデレート、CSV、ブラックホール
差3.MysqlストレージエンジンInnoDBストレージエンジンとMYISAM
1 InnoDBのバッファデータとインデックスをキャッシュする、MYISAM専用キャッシュインデックスが
トランザクション2. InnoDBのサポートトランザクションは、MyISAMテーブルがサポートしていない
InnoDBが管理する3ロックを、ロック(表ロック、行ロック、ページレベルのロックなど)、MySQLの管理によってMYISAMの種々の形態の支持体は、テーブルのみをサポートロック。
4.データ・ストレージ・ファイルは同じではありません、インデックスのデータ構造は同じではありません
もちろん5.クエリテーブルはデータを数えると同じではありません、InnoDBのコンピューティングニーズプログレッシブスキャン回数、カウントMyISAMテーブルは、それがすぐに返すことができ、記録されています。
参考ます。https://www.cnblogs.com/yueshutong/p/10721896.html

何InnoDBストレージエンジン基礎となるデータ構造4.Mysqlはありますか?
回答:B +ツリー(クラスタ化インデックスと非クラスタ化インデックス)と適応ハッシュ(見つけるための辞書)
関連リンクします。https://blog.csdn.net/linjiaen20/article/details/85222088

5.Mysqlストレージエンジンは、テーブルまたはライブラリベースに基づいていますか?
A:ときストレージエンジンを使用して指定することができる新しいテーブル最も明白な特徴に基づいて、データテーブルです
します。https://www.cnblogs.com/fzz9/p/8968649.htmlリンク

6.表のx(A、B)がある場合は、A、Bを加えた共同インデックス(A、B)=と= A = Bを尋ねると、多分あなたは、インデックス???ヒットすることができます与えている
A:あなたは、インデックスを打つことができますがので、Bは以下の共同インデックスを形成するインデックスb指数、A、Bのインデックス、最も左の原則(左接頭原理)どちらの場合も、インデックスがヒットすることを知っている可能性があり
、リンクをします。https://blog.csdn。 NET / qq_42630887 /資料では、この記事では、/詳細/ 97113323だった
https://blog.csdn.net/wdjxxl/article/details/79790421
、これは実際には、インデックスとMySQL左端の原則(左接頭原理)の使用の共同研究である、著者:分析この小さな、しかし深さでは考慮されません。

テーブルX(A、B、Cがある場合7. D、E)は、 A、B、Cプラス関節指数(A、B、C)を与えているウィルC =?およびB =アンド = Aと?????指数=多分= aとb>とC =インデックスは(メイン個)、それを打つことができ、それを打つことができるよう
回答:??? C = aとb =と= インデックスは、MySQLの意志としてヒットでした=?と=?aとbを支援するために最適化された C =? あなたは、インデックスを打つことができますので、このフォーム。
=?また、インデックスを打つことがあります。
=?aとb>?と C =? のみヒットインデックス、インデックスはBとして使用されている>記号はBにつながり、Cのインデックスがヒットすることはできません。
ので、Bは以下の共同インデックスを形成するインデックスb指数、A、Bのインデックス、最も左の原則(左接頭原理)どちらの場合も、インデックスがヒットすることを知っている可能性があり
、リンクをします。https://blog.csdn。 NET / qq_42630887 / Articleこの記事だった/詳細/ 97113323
https://blog.csdn.net/wdjxxl/article/details/79790421

8.MySQL下でなぜのInnoDBストレージエンジンのB +ツリーインデックスの使用
1.クエリと挿入効率を向上させる(IOを減らす)、ディスクストレージの効率向上のために:A
あなたが挿入されたアクセスINSERT、シーケンシャルとランダムアクセスを実現することができます2.
分析:こちらを表現したいです意味と使用シナリオは、BとB +ツリーのツリーとの間の差である
リンク:
https://www.cnblogs.com/tiancai/p/9024351.html
https://zhuanlan.zhihu.com/p/97601681

9.どのような(クラスタ化)インデックスと非クラスタ化インデックスの集約された
A:
クラスタ化インデックス:同じ論理的順序の(典型的には、主キー列である)データ値の行と列の物理的順序、テーブルは、クラスタ化インデックスを持つことができます。
非クラスタ化インデックス:インデックスのインデックスと物理ディスクの記憶順序異なるアップリンクの論理的な順序で、テーブルは、複数の非クラスタ化インデックスを持つことができます。
非クラスタ化インデックスが含まれます:一般的なインデックスを、インデックスのみ、フルテキストインデックス
関連リンクします。https://www.cnblogs.com/sbb/p/8334593.html

この平均値を何台まで10.MySQLバック?なぜ、テーブルに戻って?バックテーブルのクエリを避けるためにどのように?
:このクエリ、場合非クラスタ化インデックスのリーフノードがiノードまだですが、対応するデータブロックへのポインタがあり、非クラスタ化インデックスを使用
して、クエリの列が他の列をカバーしていないインデックスが含まれ、その後、彼は最初にする必要があります2番目のクエリは、クエリノードデータは、データ線に対応します。

あなたがチェックしない他の非インデックスフィールドのクエリ処理を確認していない場合は、そのチェックのみインデックスフィールドは、クエリの速度を向上させるために、テーブルに戻っ避けるために。
関連リンク:HTTPS://www.zhihu.com/question/347087093/answer/830934717
https://www.cnblogs.com/sbb/p/8334593.html

11.MySQLインデックスカバレッジそれは何を意味するのでしょうか?
:クエリのSQLクエリの列の完全なインデックスには戻ってテーブルに必要とされていない場合、あなたはインデックスデータに戻すことができインデックスカバー手段。

Bツリーを使用することができますどのような12
多値データを格納:A

?13.Mysql SQLの実装
A:クライアント側のSQL文の着信サーバのMySQLによる最初は、MySQLサーバは複数の層を持って、互いに本質的に独立した各レイヤーに影響を与えず、
その後、サービスレイヤリンク、および最初によって、最終的にそこにデータ・キャッシュを照会することによって決定され、パーサSQL構文木オプティマイザとアクチュエータによって解析された実行計画を生成し、
読み出すためのデータ記憶層を設け、ライトエンジンAPI実際の読み出しおよびデータ書き込みを
参照します。https://www.cnblogs.com/gusluo/p/11250863.html

B +ツリーは14.Mysql底のですか?なぜB +ツリーを選ぶのか?
:正確には、ディスク・ストレージ効率を改善するために、MySQLは、クエリと挿入効率(IOを減らす)を向上させることができるのInnoDB底B +ツリーを使用してストレージエンジンの多くの種類、使用B +ツリーがあると言うこと
に加えて順次挿入されたアクセスとランダム挿入のアクセスを実現することができます

公開された164元の記事 ウォン称賛70 ビュー35万+

おすすめ

転載: blog.csdn.net/u010504064/article/details/104238850