mysql のビューにはインデックスがありません。ビューはデータベースに実際には存在しない仮想テーブルであるため、主キーやインデックスはありません。ビューには行や列がないため、本質的にはステートメントです。ビューが呼び出されると、システムは最初にビューを生成するステートメントを作成し、ビューに基づいてクエリを実行します。
このチュートリアルの動作環境: Windows10 システム、mysql8.0.22 バージョン、Dell G3 コンピューター。
ビューにはインデックスがありません。ビューは仮想テーブルであり、実際にはデータベースに存在しないため、主キーやインデックスはありません。行がまったくないためです。合計列は本質的にステートメントです。ビューを呼び出すと、データベース管理システムはまずビューにカプセル化されたステートメントを見つけ、最初にビューを生成するステートメントを実行し、次にビューに基づいてクエリを実行します。
ビューではインデックスもトリガーも使用できません(インデックスとトリガーは後で分析します)
通常のテーブルでも使用でき、テーブルを結合するSQL文の編集も可能です。ビューと通常のテーブルが許可されます。
ビューを使用したデータの更新 (追加、削除、変更) については、ビュー自体にはデータがないため、これらの操作は通常のテーブルに直接適用されますが、すべてのビューが更新操作を実行できるわけではありません。ビュー内の group by、join、subquery、union (unoin)、集計関数 (sum/count など)、計算フィールド、DISTINCT などの場合、ビューは更新できないため、前の例は更新できません。この操作は主にデータの取得に使用されるため、更新について詳しく説明する必要はありません。
ビューの本質
これで、ビューの作成と使用が比較的明確になりました。これで、ビューの本質をさらに理解する準備が整いました。ビューは仮想であるとこれまで繰り返し述べてきました。テーブル: データがなければ、各クエリは通常のテーブルから動的にデータを取得して結合するだけですが、テーブルのように見えます。この原理は次の図から明らかです:
実際、ビューは通常のテーブルに対するユーザーのクエリ操作を制限するためにも使用されることがあり、そのようなテーブルには対応するビューのみが与えられます。選択操作権限では、特定の行または列からのデータの読み取りのみが許可されます。この方法では、行と列の読み取りを制限するためにデータベースのアクセス許可設定を直接使用する必要がなくなり、アクセス許可を調整する手間も省けます。
推奨学習: mysql ビデオ チュートリアル
以上がmysql ビューにはインデックスがありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。