mysql編面接問題
mysql
1.データベースの三パターンは何ですか.
1 NF:列の再分割不可
2 NF:キーに対する非プライマリ属性の部分依存性を解消する
3 NF:キーに対する非プライマリ属性の伝達依存性を解消する
BCNF:キーに対する主属性の部分依存、伝達依存を排除する
参考記事
2.1枚の自増表の中に全部で7本のデータがあって、最後の2本のデータを削除して、mysqlデータベースを再起動して、また1本のデータを挿入して、この時idは何です
データベースエンジンがinnodbを使用している場合、idは6であり、innodbテーブルはインクリメンタルプライマリキーの最大idをメモリに記録するため、データベースを再起動したり、テーブルOPTIMIZE操作を行ったりすると、最大idが失われます
データベースエンジンがmyisamを使用している場合、idは8です.myisamテーブルは自己増加プライマリ・キーをデータ・ファイルに記録しているので、データベースを再起動しても、自己増加プライマリ・キーの最大idは失われません.
参考記事
一反三を挙げる:
InnoDBとMyISAMの違い
3.現在のデータベース・バージョンの取得方法
select version()を使用して、現在のMySQLデータベースのバージョンを取得します.
4.ACIDは何ですか
原子性:1つのトランザクションは分割できない単位であり、その中の操作は多くするか、しないかのいずれかです.
コンシステンシ:トランザクションの実行が終了すると、データベースの完全な制約は破壊されず、トランザクションの実行前後は合法的なデータ状態になります.
独立性:トランザクションの内部操作は他のトランザクションと独立しており、同時に実行される各トランザクション間で干渉することはできません.
永続性:トランザクションがコミットされると、データベースへの変更は永続的です.
参考記事
5.charとvarcharの違いは何ですか
参考記事
6.floatとdoubleの違いは何ですか?
参考記事
7.mysqlの内部接続、左接続、右接続の違いは何ですか?
参考記事
8.mysqlインデックスはどのように実現されていますか
参照1
リファレンス2
9.mysqlのインデックスが需要を満たしているかどうかを検証する方法
参照1
リファレンス2
10.データベースのトランザクション・アイソレーションについて説明します複数のユーザがデータベースにアクセスすると、各ユーザが開いているトランザクションは、他の操作によって干渉されず、複数の同時トランザクション間で互いに隔離される. トランザクションの独立性を考慮しないと、3つの問題が発生します. には4つの独立性レベル がある.
参考記事
11.mysqlでよく使うエンジンについてお話しします
innodb、2つのファイルがあります.frm定義ファイルidbデータファイル;トランザクションをサポートします.独立性レベルは4つあります(読み取りは言及されていません.読み取りはコミットされ、繰り返し読み取り可能、シリアル化可能)、デフォルトは繰り返し読み取り可能です.行ロックとテーブルロックのサポート
myisam、3つのファイルがあります.frm定義ファイル,.mydデータファイル,.myiインデックスファイル;トランザクションはサポートされていません.テーブルロック
参考記事
12.mysqlの行ロックとテーブルロックについて話します
テーブルロック、オーバーヘッドが小さく、ロックが速く、デッドロックは発生しません.ロック粒度が大きく、衝突しやすい確率が高く、同時量が最も低い.
行ロック、オーバーヘッドが大きく、ロックが遅く、デッドロックが発生します.ロック粒度が小さく、衝突する確率が低く、同時最高
参考記事
13.楽観ロックと悲観ロックについて
楽観ロック悲観ロックデモ
14.mysql問題の調査にはどのような手段があるか
show processlistは、現在のすべての接続情報を表示します.explainコマンドを使用してsql文実行計画をクエリーします.スロークエリーログを開き、スロークエリーのsqlを表示します.
15.mysqlのパフォーマンスの最適化方法
参考記事
1.データベースの三パターンは何ですか.
1 NF:列の再分割不可
2 NF:キーに対する非プライマリ属性の部分依存性を解消する
3 NF:キーに対する非プライマリ属性の伝達依存性を解消する
BCNF:キーに対する主属性の部分依存、伝達依存を排除する
参考記事
2.1枚の自増表の中に全部で7本のデータがあって、最後の2本のデータを削除して、mysqlデータベースを再起動して、また1本のデータを挿入して、この時idは何です
データベースエンジンがinnodbを使用している場合、idは6であり、innodbテーブルはインクリメンタルプライマリキーの最大idをメモリに記録するため、データベースを再起動したり、テーブルOPTIMIZE操作を行ったりすると、最大idが失われます
データベースエンジンがmyisamを使用している場合、idは8です.myisamテーブルは自己増加プライマリ・キーをデータ・ファイルに記録しているので、データベースを再起動しても、自己増加プライマリ・キーの最大idは失われません.
参考記事
一反三を挙げる:
InnoDBとMyISAMの違い
3.現在のデータベース・バージョンの取得方法
select version()を使用して、現在のMySQLデータベースのバージョンを取得します.
4.ACIDは何ですか
原子性:1つのトランザクションは分割できない単位であり、その中の操作は多くするか、しないかのいずれかです.
コンシステンシ:トランザクションの実行が終了すると、データベースの完全な制約は破壊されず、トランザクションの実行前後は合法的なデータ状態になります.
独立性:トランザクションの内部操作は他のトランザクションと独立しており、同時に実行される各トランザクション間で干渉することはできません.
永続性:トランザクションがコミットされると、データベースへの変更は永続的です.
参考記事
5.charとvarcharの違いは何ですか
参考記事
6.floatとdoubleの違いは何ですか?
参考記事
7.mysqlの内部接続、左接続、右接続の違いは何ですか?
参考記事
8.mysqlインデックスはどのように実現されていますか
参照1
リファレンス2
9.mysqlのインデックスが需要を満たしているかどうかを検証する方法
参照1
リファレンス2
10.データベースのトランザクション・アイソレーションについて説明します
1. :
2. :
3. : ,
“ ” “ ”
:
:
: ,mysql
: 、
参考記事
11.mysqlでよく使うエンジンについてお話しします
innodb、2つのファイルがあります.frm定義ファイルidbデータファイル;トランザクションをサポートします.独立性レベルは4つあります(読み取りは言及されていません.読み取りはコミットされ、繰り返し読み取り可能、シリアル化可能)、デフォルトは繰り返し読み取り可能です.行ロックとテーブルロックのサポート
myisam、3つのファイルがあります.frm定義ファイル,.mydデータファイル,.myiインデックスファイル;トランザクションはサポートされていません.テーブルロック
参考記事
12.mysqlの行ロックとテーブルロックについて話します
テーブルロック、オーバーヘッドが小さく、ロックが速く、デッドロックは発生しません.ロック粒度が大きく、衝突しやすい確率が高く、同時量が最も低い.
行ロック、オーバーヘッドが大きく、ロックが遅く、デッドロックが発生します.ロック粒度が小さく、衝突する確率が低く、同時最高
参考記事
13.楽観ロックと悲観ロックについて
楽観ロック悲観ロックデモ
14.mysql問題の調査にはどのような手段があるか
show processlistは、現在のすべての接続情報を表示します.explainコマンドを使用してsql文実行計画をクエリーします.スロークエリーログを開き、スロークエリーのsqlを表示します.
15.mysqlのパフォーマンスの最適化方法
参考記事