MySQL DB 構造を構成し、それを直接操作する CRUD ステートメントを記述できる場合、(DB に埋め込まれた) データベース スキーマの必要性は何ですか? これらを使用したことはありませんが、パフォーマンスの最適化のみを目的としていると思いますか?
たとえば、 MySQL Workbenchを使用して、DB 構造を生成する .sql コマンドとしてエクスポートできるスキーマ ダイアグラムを知っています。
MySQL DB 構造を構成し、それを直接操作する CRUD ステートメントを記述できる場合、(DB に埋め込まれた) データベース スキーマの必要性は何ですか? これらを使用したことはありませんが、パフォーマンスの最適化のみを目的としていると思いますか?
たとえば、 MySQL Workbenchを使用して、DB 構造を生成する .sql コマンドとしてエクスポートできるスキーマ ダイアグラムを知っています。
あなたの質問は私には完全には明らかではありません。スキーマの編集可能なグラフィック表現がある理由について質問している場合は、データベースの構造のグラフィック表現は必要ありません。
データベースがどのように配置されているかを一目で学んだり、DB設計を他の人に伝えたりする必要がある場合に、これは確かに役立ちます。また、DDLセンテンスを使用するよりも、グラフィック表現を編集する方が簡単な場合があります。
DBのどこにスキーマが格納されているかを知りたい場合は、標準のINFORMATION_SCHEMAテーブルを介して公開されます。もちろん、DDLはデータベースにあります(そうでない場合、データベースはデータの保存方法をどのように知るのでしょうか)
データベース内のすべての列をVARCHAR(255)として作成することもできますが、結果は非常に遅くなります。
データベースがクエリを実行する方法について考えてみてください。データベースにはインデックスがあります(辞書のインデックスを考えてみてください)。インデックスを調べて、適切なレコード(辞書の適切なページ)を見つけます。次に、レコードを返します。
インデックスが小さい場合、ルックアップは高速です-インデックスのより多くの「ページ」が一度にメモリに収まる可能性があるため(考えてみてください-500ではなく2ページの場合、辞書インデックスを調べるのは簡単ではありませんか? )。したがって、クエリに整数インデックスを使用すると、文字列インデックスを使用するよりも大幅に高速になります。