データベースのインデックスとビュー

データ定義関数は次のとおりです。

  • テーブル定義
  • インデックスの定義
  • 定義を表示

索引

      1.インデックスの作成と削除

インデックスを作成するステートメントの形式は次のとおりです。

CREATE [UNIQUE] INDEXインデックス名 

       ONテーブル名(列名[、列名]……)

[例2-49] emp_cテーブルは、従業員の名前(ename)によってインデックスが付けられ、インデックス名はemp_ename_idxです。

CREATE INDEX emp_ename_idx ON emp_c(ename);

[例2-50] emp_cテーブルは、仕事と給与によってインデックスが付けられ、インデックス名はemp_job_sal_idx です。

CREATE INDEX emp_job_sal_idx ON emp_c(job,sal);

 次に、インデックスを表示します

         SHOW INDEX FROM <表名>;

        [例2-51] emp_cテーブルのインデックス情報を表示します。

SHOW INDEX FROM emp_c;

       第三に、インデックスを削除します

         DROP INDEXインデックス名ONテーブル名。

       [例2-52] emp_cテーブル内の確立されたインデックスemp_ename_idxを削除します

DROP INDEX emp_ename_idx ON emp_c;

注:インデックスを設定すると、システムの検索時間が短くなります。

テスト:

SET profiling=1;#设置系统监控
SELECT * FROM emp_c WHERE empno=1002;
SHOW PROFILES;#查看监控信息
CREATE INDEX emp_idx ON emp_c(empno);
SELECT * FROM emp_c WHERE empno=1002;
SHOW PROFILES;#查看建立索引后的监控信息

見る

           まず、見解を確立した理由

  • さまざまなデータ表現フォームを提供して、データの論理的な複雑さを隠し、クエリステートメントを簡素化する
  • 特定のセキュリティ保証を提供し、ユーザー権利の管理を簡素化し、データベースを再構築します
  • 論理的な独立性を提供します

          次に、ビューを作成します

     ステートメントの形式は次のとおりです。

     CREATE [OR REPLACE] VIEW <view name> [(<alias> [、<alias>]…)]

     なので

    <SELECTステートメント>

    [チェックオプション付き]

          [例2-53] WITH CHECK OPTIONオプションを指定してビューを作成します。  

CREATE  VIEW  v_dept_chk
AS
SELECT empno,ename,job,deptno FROM  emp
WHERE  deptno=10
WITH  CHECK  OPTION;

    3番目に、ビューを変更します

     ALTER VIEWビュー名[(エイリアス[、エイリアス]…)]

             なので

             SELECTステートメント

             [チェックオプション付き];

             またはC REATE [OR REPLACE] VIEW(構文は作成と同じ)

           

CREATE OR REPLACE VIEW vdk AS
SELECT empno,ename,job,deptno FROM emp
WHERE deptno=10
WITH CHECK OPTION;
SELECT * FROM vdk;

ALTER VIEW vdk AS
SELECT empno,ename,job FROM emp
WHERE deptno=10
WITH CHECK OPTION;
SELECT * FROM vdk;

      4番目に、ビューを削除します         

        DROP VIEWビュー名[、ビュー名、…];

       【例2-56】作成したビューv_dept_chkを削除します。

DROP VIEW v_dept_chk;

      5、ビューの使用、TABLEと同じ

                 既知:既存のビューvdk

SELECT * FROM vdk;
SHOW TABLES;
DESC vdk;//查看表的结构

注:テーブルを参照する物理メモリは仮想テーブルです。

 

 

 

 

 

 

 

 

 

 

 

元の記事を75件公開 賞賛された164件 表示回数110,000回

おすすめ

転載: blog.csdn.net/qq_41679818/article/details/105572122