• 做题总结


            这次做题做的不怎么好,随便写点东西给自己一点交代吧!


       关于索引这部分说真的不怎么会,所以呢,要好好学一下!在这里总结一下,给自己未来回顾找个节点!

    1.SQL Server Management Studio中,按照窗体向导设置索引的相关选项即可。索引的创建与表的主键创建的没有先后顺序要求。一般情况下,先创建主键,当表中数据达到一定数量后再建立索引。

      2.视图是一个虚拟表,我们在查询视图的时候,实际上是对基础表的查询。视图不仅可以作为SELECT查询的目标,也可以作为修改语句的目标。理论上它可以像普通的物理表一样使用,例如增、删、改、查等,更新视图中的数据实际上是修改原始数据表。当然,当修改视图的时候,其实是对基础表的修改,它就好像是一个代理。但因为有许多限制,所以在实际开发中一般视图仅做查询使用。

    3.视图是另一种查看数据库中一个或多个表中数据的方法,视图只是一种虚拟表,通常是作为来自一个或多个表的行或列的子集创建的,视图并不是数据库中存储的数据值的集合,

    视图充当着查询中指定表筛选器,定义视图的查询可以基于一个或多个表,也可以基于其他视图,当前数据库或其他数据库

    4.关系数据库中,数据是保存在数据页中的,而索引则是存储在索引页中。因此,数据表中的索引并非越多越好,一个表中如果有大量的索引,不仅占用大量的磁盘空间,而且会影响INSERT、DELETE、UPDATE等语句的性能。因为当表中数据更改的同时,索引也会进行调整和更新。

    5.每张表最多包含1个聚集索引。并且聚集索引会决定记录的物理位置。聚集索引不一定要建立在主键字段上。一张表可以没有任何索引。

    6.创建视图时,只能使用1条查询语句,通过视图查询到数据,仍然是存储在原表中。

    7.SQL Server中,索引可以提高数据的访问速度,但同时也增加了插入、更新和删除操作的处理时间,也会在硬盘上占用相当大的空间。所以是否要为表增加索引、索引建立在那些字段上,是创建索引前必须要考虑的问题。解决此问题就是分析应用程序的业务处理、数据使用,为经常被用作查询条件、或者被要求排序的字段建立索引。

    不要在有大量相同取值的字段上,建立索引。这是因为,由于这些字段的取值很少,例如人事表的性别字段,在查询的结果中,结果集的数据行占了表中数据行的很大比例,即需要在表中搜索的数据行的比例很大。增加索引,并不能明显加快检索速度;
    当修改性能远远大于检索性能时,不应该创建索引。这是因为,修改性能和检索性能是互相矛盾的。当增加索引时,会提高检索性能,但是会降低修改性能。当减少索引时,会提高修改性能,降低检索性能。因此,当修改性能远远大于检索性能时,不应该创建索引。。

    8.SQL Server中,数据库索引创建规则:

    1、表的主键、外键必须有索引;
    2、数据量超过300的表应该有索引;
    3、经常与其他表进行连接的表,在连接字段上应该建立索引;
    4、经常出现在Where子句中的字段,特别是大表的字段,应该建立索引;
    5、索引应该建在选择性高的字段上;
    6、索引应该建在小字段上,对于大的文本字段甚至超长字段,不要建索引;
    7、复合索引的建立需要进行仔细分析;尽量考虑用单字段索引代替:8、频繁进行数据操作的表,不要建立太多的索引;
    9、删除无用的索引,避免对执行计划造成负面影响。

    9.

    SQLServer中,为列创建索引实际上就是为列进行排序,以方便查询。建立一个列的索引,就相当与建立一个列的排序。主键是唯一的,所以创建了一个主键的同时,也就这个字段创建了一个唯一的索引。唯一索引实际上就是要求指定的列中所有的数据必须不同。主键一唯一索引的区别:
    1. 一个表的主键只能有一个,而唯一索引可以建多个。
    2. 主键可以作为其它表的外键。
    3. 主键不可为null,唯一索引可以为null。
    根据本题描述,我们知道:图书名称可以不是唯一的,在书名上添加唯一索引是不正确的做法。图书馆同一天可能会购置多本图书,因此在购置日期添加聚集索引也不对。对于小部分读者有时按作者姓名查询藏书的行为,不必创建索引;同时因为作者可能有重名的可能,更不应该创建聚集索引。
     

     

       

  • 相关阅读:
    迁移式学习
    VMware Workstation 16激活码
    OpenStack安装部署
    git码云操作
    vs 2019 正则替换
    linux中Redis单机安装
    ASP.NET/C#执行数据库过程函数带RETURN的项目接收。
    IDEA配置部属Tomcat
    Java集合之HashMap源码分析(put()方法)
    反编译一款APP然后重新打包(Windows环境)
  • 原文地址:https://www.cnblogs.com/wei-91/p/5767210.html
Copyright © 2020-2023  润新知