欢迎来到天天文库
浏览记录
ID:22635919
大小:58.00 KB
页数:41页
时间:2018-10-30
《sql学习资料笔记》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、创建视图和索引※视图常常被称为虚表。在视图被创建以后,你可以对视图采用如下命令:select,insert,update,delete。※索引是与磁盘上数据的存储方式不同的另外一种组织数据的方法。◎使用视图※视图并不占用数据库或表的物理空间。※创建视图的语法如下:CREATEVIEW[(col1,col2...)]ASSELECTFROM;※视图可以是多级的,也就是可以用视图来创建视图。但这会加大维护工作的复杂性。1。列的重命名
2、注意:当在视图中使用SQL的计算功能时,SQL会要求你给出一个虚字段的名字,这是可以理解,因为象COUNT(*)或AVG(PAYMENT)是不能作为列名的。2。SQL对视图的处理过程※运行SELECT语句-->查找表-->未找到-->查找视图。3。在SELECT语句中的使用约束在视图的SELECT语句中:※不能使用UNION操作。※不能使用ORDERBY子句,但在视图中,使用GROUPBY子句可以有ORDERBY子句相同的功能。4。在视图中修改数据在视图创建以后,就可以用Insert,Update
3、,Delete语句来更新,插入,删除视图中的数据。5。在视图中修改数据的几个问题※对于多表视图,不能使用DELETE语句。※除非底层表的所有非空列都已经在视图中出现,否则,你不能使用Insert语句。有这个限制的原因是SQL不知道该将什么数据插入到NOTNULL限制列中(没有在视图中出现的)。※如果对一个归并的表格插入或更新记录,那么所有被更新的记录必须属于同一个物理表。※如果你在创建视图时使用了DISTINCT语句,那么你就不能插入或更新这个视图中的记录。※你不能更新视图中的虚拟列(它是用计算字
4、段得到的)。6。通用应用程序的视图下面有几个视图需要完成的任务:※提供了用户安全功能。※可以进行单位换算。※创建一个新的虚拟表格。※简单的结构化复合查询。-->视图与安全性-->在单位换算中使用视图-->在视图中使用简单的结构化复合查询7。删除视图的语句DROPVIEWview_name;注意:该命令会使所有与DROP掉的视图相关联的视图不能正常运行。一些数据库系统甚至会将所有与DROP掉的视图相关联的视图也删除掉。◎使用索引在SQL中使用索引有以下几个原因:※在使用UNIQUE关键字时强制性地保
5、证数据的完整性。※可以容易地使用索引字段或其他字段进行排序。※提高查询的执行速度。1。什么是索引创建索引的语法:CREATEINDEXindex_nameONtable_name(col1[,col2...]);注意:在不同的数据库系统中,创建索引的语法差别很大。删除索引的语法:DROPINDEXindex_name;备注:当表被删除时,所有与表相关的索引也将被删除。2。使用索引的技巧※对于小表来说,使用索引对于性能不会有任何提高。※当你的索引中有极多不同的数据和空值时,索引会使性能有极大的提高。
6、※当查询返回的数据很少时,索引可以优化你的查询(比较好的情况是少于全部数据的25%)。如果要返回的数据很多时,索引会加大系统开销。※索引会提高数据的返回速度,但是它使数据的更新速度变慢。如果要进行大量的更新操作,请先删除索引,在执行完更新操作后,再恢复索引。※索引会占用你的数据库空间,在设计数据库的可用空间时要考虑到。※如果对字段的索引已经对两个表进行了归并操作,这一技术可以极大地提高归并的速度。※大多数数据库系统不允许对视图创建索引。※不要对经常需要更新或修改的字段创建索引,更新索引的开销会降低
7、你所期望获得的性能。※不要将索引和表存储在同一个驱动器上,分开存储会去掉访问的冲突,从而使结果返回的更快。3。对更多的字段进行索引这也叫复合索引。4。在创建索引时使用UNIQUE关键字复合索引通常使用UNIQUE关键字来防止有相同数据的多个记录多次出现。在创建索引时,可以使用DESC关键字。5。索引与归并在归并查询中,对表中唯一属性的字段或用以归并操作的字段创建索引,可以大大比高归并的效率。6。群集(簇)的使用当使用群集索引时,数据的表中的物理排列方式将会被修改。使用群集索引通常比传统的不使用群集
8、的索引速度要快。许多数据库系统(如Sybase的SQLServer)只允许一个表有一个群集索引。用于创建群集索引的字段常常是主关键字。※用Sybase的Transact-SQL创建群集索引的例子:CREATEUNIQUECLUSTEREDINDEXid_indexONbook(id);※在Oracle中,群集具有与众不同的概念。群集是SQL的第三方特性。Transact_SQL小手册 *******************Transact_SQL*****************
此文档下载收益归作者所有