MySQLでは
information_schemaperformance_schemamysqlsys
という4つのデータベースが最初から用意されていますが
これらの違いについて調べたメモ。
information_schema- 実際に作られたデータベースに関する情報を格納するデータベース。
- 例えば「test」というデータベースを作った場合、「test」データベースの「名前」「テーブル名」「カラム名」「型」「ストレージエンジン名」などが格納される。
performance_schema- データベースのパフォーマンスを向上させるために利用するデータベース。
- 使ったことがないので良く分からないのですが、データベースのパフォーマンスに関する情報がいろいろ格納されていて、それを見つつ「こういう風なクエリにしたほうが高速に動くぞい」みたいなチューニングをしたりするのに利用するっぽい。
mysql- MySQL全般の設定が格納されたデータベース。
- 例えば、MySQLにログインするための「ユーザー」「パスワード」「ホスト」などの情報が格納されていたり。
sysperformance_schemaやinformation_schemaの上位互換?
sysは以下とのことです。
sysについて
performance_schema自体は便利な機能ではあるのですが、情報が取り出しにくいという課題がありました。そこで、MySQL5.7以降では、
sysという機能が登場しました。
これは、performance_schemaとinformation_schema(テーブルやカラム型などのDB内部メタ情報を持つスキーマ)を見やすくしたもので、実体はビューやプロシージャ、関数の集まりです。そのため
performance_schemが有効化されていれば、sysの機能も有効となります。
実際にはperformance_schemaやinformation_schemaを使わずに、sysを使ったほうが良いってことなんですかね・・。
知識不足なせいで理解できない(T_T)
おわり
コメント