sql 入门经典(第五版) Ryan Stephens 学习笔记 第五部分: 性能调整

Posted NeilZhang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql 入门经典(第五版) Ryan Stephens 学习笔记 第五部分: 性能调整相关的知识,希望对你有一定的参考价值。

第十六章: 利用索引改善性能

1、 create index

单字段索引:  create index index_name on table_name (column_name);
唯一索引:     create unique index index_name on table_name (column_name);

组合索引: 一个表中有两个或者多个字段的索引

  create index index_name on table_name (column1,column2);

 

2、何时考虑设置索引

3、 drop index index_name ;      // 删除索引        

4、 alter index index_name ;     //修改索引  

 

第二十章: 创建和使用视图及异名

  视图是一个虚拟表,它只保存在内存里,不占实际的存储空间,不保存数据,它只是从表里引用数据,它的使用方式和表是一样的.

  1. 视图的使用场景
    • 简化数据访问
      有时候数据在表里的格式并不适合终端查询,这时可以创建一系列的视图.
    • 作为一种安全策略
      视图可以限制用户只访问表里特定字段或满足一定条件的记录.
    • 维护摘要数据
      如果摘要数据所基于的表经常更新,那么使用视图要比每次都写SQL来的方便

  2、创建视图
    mysql的文档中对创建视图是这样定义的:

    CREATE  [OR REPLACE] [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}]

    [DEFINER = { user | CURRENT_USER }] [SQL SECURITY { DEFINER | INVOKER }]
    VIEW view_name [(column_list)]
    AS select_statement
    [WITH [CASCADED | LOCAL] CHECK OPTION]

 

  一个普通的视图创建语句是这样的:

  CREATE VIEW V_CUSTOMERS AS SELECT * FROM V_CUSTOMERS;

    1. WITH CHECK OPTION
      这个用的不是很多.它像是一种约束.如果在创建视图的适合使用了这个选项,那么当向表中插入或者更新的记录不符合视图的条件时则操作失败.
    2. 删除视图
      跟删除表一样,使用DROP可以删除一个视图:
      DROP VIEW V_CUSTOMERS;

  从视图创建视图: 

    create table table_name as select column1,colum2 from table_from_view;

3、 异名: 表或者视图的另一个名字,访问时可以不适用完整的名字。

  创建异名: create [public | private ] synonym synonym_name for table_name|view_name ;

  删除异名: drop synonym synonym_name;

  应用: select synonym_name ;   == select * from table_name ;

可以不添加所有者的名字就能访问这个表。

 

以上是关于sql 入门经典(第五版) Ryan Stephens 学习笔记 第五部分: 性能调整的主要内容,如果未能解决你的问题,请参考以下文章

sql 入门经典(第五版) Ryan Stephens 学习笔记  第四部分:建立复杂的数据库查询

javascript入门经典(第五版)-清华出版社之“经典”错误

perl简洁编程,《Perl语言入门(第五版)》读书笔记

SQL必知必会(第五版)

windows程序设计和windows核心编程 哪本更适合win32 api入门

SQL必知必会(第五版)