序文
プログラマーとして、特にインターネット業界でMySQLをより多く使用するMySQLに精通している必要があります。MySQLは面接の焦点であり、多くの人々は大企業であるという夢を持っていますが、MySQLのために敗北しています。実際、MySQLは難しいことではありません。今日の最も包括的なMySQLの概要は、主要企業を「解雇する」のに役立ち、面接がMySQLに悩まされることはもうありません。
注:MySQLのコンテンツは、面接の質問、研究ノート、使用文書、Xmindマインドマップを含めて整理されています。「MySql学習リソースギフトパック」の高解像度のフルバージョンを必要とする友人は、次の手順に進んでください。 (自由)
01、MySQL面接質問集まとめ
1.1 MySQLインタビューの質問(基本部分):
- ドロップ、トランケート、削除の違い
- 3つのデータベースパラダイムとは何ですか?
- unionとunion allの違いは何ですか?
- char、varchar2、およびvarcharの違いは何ですか?
- 結合クエリとは何ですか?
- SQLステートメントの実行順序
- nullの意味
- MySQL、SqlServer、Oracle書き込み文字ストレージ、文字列変換時間
- updateステートメントで結果セットのデータを変更できますか?
- BツリーとB +ツリーの違い
- 索引を見たことがありますか?索引付けの原則
- 主キーインデックスなどのインデックスのタイプ
- SQL実行プランを表示する
- 100,000個のデータがあります。SQLステートメントを記述して、フィールドの値がより大きい複数のデータをクエリします
- サブクエリと関連クエリの違い
- MySQL InnoDBとMysaimの特徴は何ですか?
- 楽観的ロックと悲観的ロックの違いは何ですか??
- 行ロックとテーブルロックの違いは?
- データベース分離レベルとは何ですか?効果は何ですか?
- MySQLマスター/スレーブ同期の基本原則。
- データベースのパフォーマンスを最適化する方法(インデックス、サブデータベースとテーブル、バッチ操作、ページングアルゴリズム、ハードディスクSSDのアップグレード、ビジネスの最適化、マスタースレーブ展開)
- SQLがインデックスを使用しない状況(除外、等しくない、関数)
- 一般にインデックスが作成されるフィールド(最もフィルタリングされたデータを持つフィールド)
- MySQL、B +インデックス実装、行ロック実装、SQL最適化
- 高い同時実行性と在庫削減の問題を解決する方法
- データベーストランザクションのいくつかの粒度
1.2 MySQLインタビューの質問(実際の部分):
- データベース3つのパラダイム、スパイクシナリオに基づくデータテーブルの設計
- データベースのマスタースレーブ複製
- デッドロックを解決する方法
- MySQLの同時実行性を解決する方法(トランザクション、分離レベル、ロックを通じて)
- トリガーは何をしますか?
- ストアドプロシージャとは何ですか?何と呼ぶ?
- ストアドプロシージャの長所と短所?
- ストアドプロシージャと関数の違い
- インデックスの役割は?そして、その長所と短所は何ですか?
- インデックス作成に適したフィールドの種類
- インデックスのタイプは何ですか?
- トランザクションとは何ですか?ロックとは何ですか?
- ビューとは何ですか?カーソルとは何ですか?
- 意見の賛否両論
- いくつかのテーブル接続方法を挙げてください、違いは何ですか?
- 主キーと外部キーの違いは?
- データベースのクエリ速度を最適化する方法は非常に遅いですか?
- データベースの3つのパラダイムは何ですか?
- Varchar2とvarcharの違いは何ですか?
- OracleとMysqlの違いは?
- 順序付けとグループ化の違い
1.3 MySQLのインタビューの質問(上級者向け):
- リレーショナルデータベースのコンセプトと主な特徴を教えてください。
- リレーショナルデータベースの典型的な製品、特性、アプリケーションシナリオを教えてください。
- 非リレーショナルデータベースのコンセプトと主な特徴を教えてください。
- 非リレーショナルデータベースの典型的な製品、特性、アプリケーションシナリオを教えてください。
- SQLステートメントの分類と対応する代表的なキーワードを詳しく説明してください。
- char(4)とvarchar(4)の違いを詳しく説明してください。
- oldboyユーザーが172.16.1.0/24からデータベースにアクセスすることを承認する方法。
- MySQLマルチインスタンスとは何ですか?MySQLマルチインスタンスを構成する方法は?
- MySQLのセキュリティを強化するには、具体的な実行可能な対策を教えてください。
- データを削除するための削除と切り捨ての違いは何ですか?
- 過剰なMySQLスリープスレッドの問題を解決するにはどうすればよいですか?
- sort_buffer_sizeパラメータは何をしますか?オンラインでの変更を効果的にするには?
- MySQL binlogをオンラインで正しくクリーンアップする方法は?
- Binlogの動作モードは何ですか?それぞれの特徴は何ですか?企業はどのように選択しますか?
- ドロップライブラリで誤ってSQLステートメントを実行しましたが、完全に回復するにはどうすればよいですか?
- mysqldumpバックアップは-A -Bパラメータを使用しますが、単一のテーブルを復元する方法は?
- MySQLマスター/スレーブレプリケーションの原理とマスター/スレーブを構成するための完全な手順を説明します。
- スレーブライブラリのbinlog機能を有効にする方法は?
- MySQLはどのように双方向のマスター/スレーブレプリケーションを実現し、アプリケーションシナリオを説明しますか?
- MySQLはカスケード同期をどのように実現し、アプリケーションシナリオを説明しますか?
- MySQLマスター/スレーブレプリケーションの失敗を解決するにはどうすればよいですか?
- マスター/スレーブレプリケーションが失敗したかどうかを監視する方法は?
- MySQLデータベースはどのようにして読み書き分離を実現しますか?
- 1つのマスターと複数のスレーブの運用が停止しています。手動で回復するにはどうすればよいですか。
MySQLインタビューの回答と分析:
「MySql Learning Resources Spree」のフルHDバージョンが必要な友達は、転送してフォローしてアシスタントVXを追加してください:MXW5308無料アクセス(無料)
02. MySQLの実際の使用について
2.1 MySQLパフォーマンス最適化のための21のベストプラクティス
- クエリキャッシュ用にクエリを最適化する
- SELECTクエリを説明する
- データが1行だけ必要な場合はLIMIT 1を使用します
- 検索フィールドにインデックスを付ける
- テーブルを結合するときに同様のタイプの例を使用して、インデックスを作成します
- 決してORDER BY RAND()
- SELECT *を避ける
- 各テーブルのIDを常に設定する
- VARCHARの代わりにENUMを使用する
- PROCEDURE ANALYSE()からアドバイスを得る
- 可能な限りNOT NULLを使用してください
- 準備されたステートメント
- バッファリングされていないクエリ
- IPアドレスをUNSIGNED INTとして保存します
- 固定長テーブルが高速になります
- 垂直分割
- 大きなDELETEまたはINSERTステートメントを分割する
- カラムが小さいほど高速です
- 適切なストレージエンジンの選択
- オブジェクトリレーショナルマッパーを使用する
- 「パーマリンク」に注意
2.2 MySQLパフォーマンスチューニングとアーキテクチャ設計-完全な本
- 基本的な記事:
MySQLIの基本的な紹介、MySQLアーキテクチャの構成、MySQLストレージエンジンの紹介、MySQLセキュリティ管理、MySQLバックアップとリカバリ
- パフォーマンス最適化の記事:
MySQLServerパフォーマンス、MySQIデータベースロックメカニズム、MySQLデータベースクエリ最適化、MySQLデータベーススキーマ設計パフォーマンス最適化、MySQLServerパフォーマンス最適化、共通ストレージエンジン最適化に影響する関連要因
- 建築設計の記事:
MySQLスケーラブル設計の基本原則、スケーラビリティ設計のためのMySQLレプリケーション、スケーラビリティ設計のためのデータセグメンテーション、スケーラビリティ設計のためのキャッシュとアーカイブの利用、MySQL Cluster、高可用性設計のアイデアとソリューション、高可用性MySQL監視の設計
2.3エントリーからプロジェクトの実践までのMySQL
- 第1章基本知識
こんにちはMySQL、データベースの予備調査、一般的なMySQL管理ツールの使用、MySQLデータベースの基本操作
- 2番目のコアアプリケーション
MySQLトリガーを使用した、データテーブル、MySQLビュー、MySQLデータタイプと演算子、MySQL関数、MySQLデータベースクエリステートメントの詳細な説明、MySQLデータベースデータとインデックス操作、ストアドプロシージャとストアド関数の基本操作
- 第3章コアテクノロジー
MySQLデータベース権限の管理と回復、MySQLデータベースレプリケーション、MySQLログ管理、分散アプリケーションを構築するためのMySQLの使用、MySQLクエリキャッシュ、MySQLエラーコードとメッセージの使用
- 第4章高度なアプリケーション
C#でのMySQLデータベース接続の実現、JavaでのMySQLデータベース接続の実現、PHPでのMySQLデータベース接続の実現
- 第5章プロジェクトの実際の戦闘
プロジェクトの実際の戦闘調整フェーズ-プロジェクトの開発と計画、プロジェクトの実際の戦闘参入フェーズ-フォーラム管理システムデータベースの開発、プロジェクトの実際の戦闘改善フェーズ-企業のメンバー管理システムデータベースの開発、プロジェクトの実際の戦闘高度なステージニュースリリースシステムデータベースの開発
「MySql Learning Resources Spree」のフルHDバージョンが必要な友達は、転送してフォローしてアシスタントVXを追加してください:MXW5308無料アクセス(無料)
03. MySQL(Xmind)の学習について考える
MySQL最適化問題(Xmind)
トランザクション、ロック、SQL最適化の原則、JIONの原則、実行計画と実行の詳細、実行プロセス、テーブル構造のパフォーマンスへの影響、インデックス
総括する
全体として、学習はあなた自身のビジネスです。開発者として、MySQLを習得する必要があります。大きな工場の夢があれば、基盤はそれほど悪くないはずです。MySQLについて多くの質問がある場合は、このMySQLサマリーパッケージは持つため!
「MySql Learning Resources Spree」のフルHDバージョンが必要な友達は、転送してフォローしてアシスタントVXを追加してください:MXW5308無料アクセス(無料)