数据库索引 ,sql视图的作用(2012-05-29 11:42:17)

来源:互联网 发布:linux 复制文件夹 编辑:程序博客网 时间:2024/06/08 18:44

1.数据库索引

自己本身对于数据库的知识不是很了解,只会一些增删改查之类的简单操作语句,面试时好几次被问到索引,索性就把sql语言看了下,用我自己的语言解释就是:索引就好比一本书的目录,你要查找哪个章节,通过目录就可以知道在多少页,然后直接翻到那一页;如果没有索引,你就需要一页页的去找,去匹配你需要找到的结果,显然这种会非常慢,所以就是为了简化,为了更加方便的查询大数量记录时来使用的。

创建索引的语句:
CREATE UNIQUE INDEX <索引的名字> ON tablename (列的列表)
例如:CREATE INDEX profile_index ON profile (pid)  ;创建表profile里字段为pid的索引,这个索引创建完成之后,再通过select * from profile where pid='0011'这样的句子来查找结果时比没有创建索引会快很多.
删除索引的语句:
DROP INDEX index_name ON tab1_name;
DROP INDEX profile_index ON profile;
--------------------------------------------------------------------------------------------------------------------------------------
2.数据库视图

sql server数据库是一种关系数据库管理系统,sql server数据库操作中经常会用到视图,前段时间作项目中,遇到使用视图的问题,以前的工作中很少遇到视图,认为直接用表就ok了,何须视图呢?下面我来讲述一下它的功用:以往当我们查询数据时,一定要很认真的地从设计select语句开始,将需要查询的每个字段写在sql语句里,每次你要以同样的条件来查询数据时,那么每次都要重复输入相同的查询语句,效率很低。若将这个经常要重复使用的查询语句创建成视图,就不用那么麻烦了!直接用select * from 视图名 就行了,其实将查询语句创建成视图,不仅仅是简化查询的动作;更重要的是,视图具备数据表的特性,还可以衍生出更多的应用。

所谓视图(View)其实是执行查询语句后得到的结果,但这个查询结果可以仿真成数据表来使用,所以有人也称它为“虚拟数据表”,视图在操作上和数据表没有什么区别,但两者的差异是其本质是不同的:数据表是实际存储记录的地方,然而视图并不保存任何记录,它存储的实际上是查询语句,其所呈现出来的记录实际来自于数据表,可以为多张数据表,大家由此可以预见到视图应用的弹性!我们可以依据各种查询需要创建不同视图,但不会因此而增加数据库的数据量。

下面总结视图的几大优点:

1.增强可读性

2.数据安全及保密:针对不同用户,可以创建不同视图,限制其所能浏览和编辑的数据内容。

3.降低查询复杂度

4.方便维护。

总之,善于运用视图可以让数据库的设计、管理及使用都更加有效率、更加方便。

原创粉丝点击