sql视图缺点
sql中视图(view)举轿和存储过程(procere)的区别:
View本身就是显示一个表格,View可以显示出表格,但是VIEW本身并没有包括任何数据,view也不接受参数,所以其实view就是一个虚拟的表格,而不是实际的,所以在需要参数的时候,需要提前在建立view的时候定义好。VIEW一般是给外部非专业IT人员使用,昌谈因为你可以随意修改名称并限定输出的内容。
Procere就像是执行子查询表格,接受参数,你可以用where或者order
by这样的参数经行进一步的定义
Procere被定义出来之后,非常的方便,下次如果需要调用相同耐答碰的命令,就直接把procere名字打上去就能显示结果,通常为内部人员使用。
2. SQL 当数据很多时,使用视图是否影响速度
影响不大,毕竟视图就是一张虚拟表
3. SQL的视图机制有哪些优点
主要是安全性方面的优点,还有就是视图在加载使用前在MS
SQL中只保存视图结构,而没有数据,只有在使用时才加载数据
4. sql语句联合查询与视图想比较的话,那个效率快
sql效率比较快,存储过程的好处是不仅快且更安全,但移植性差。视图可以封装查询的复杂性,就像面向对象里类的概念一样。
5. 在sql server中,索引和视图的区别是
视图:
就是一张虚拟表,视图就是一个子查询!实际当中的数据依然存在实际的表里面,只不过取的时候是根据这个视图(也就是这个子查询)从实际当中的表里面取出来.
优点:简化查询
缺点:你建视图建多了,如果这表结构突然改了,那么你视图也要跟着改!增加了你维护的支出!所以建的view越多,维护起来越麻烦.
除了简化查询以外,视图还有其他功能:
比如你有一张表,里面有很多数据,这些数据有些是你想给别人看,但是有些是秘密不想给人看,那么你就可以建立视图,然后把视图的权限给他,这样就保护了自己的私有数据。
索引:
索引使数据库程序无须对整个表进行扫描,就可以在其中找到所需的数据。当进行数据检索时,系统先搜索索引,从中找到数据的指针,再直接通过指针从表中取数据!
优点:查询快
缺点:
1)占用存储空间
2)在表中执行insert、delete、update操作时,将有额外的操作来维护索引
3)过多的索引起反作用
注意:
1)如果给表中某字段加了 主键约束 或是 唯一约束 ,这时会自动帮你 建立对应这个字段的 唯一索引
2)索引不要轻易的建立
差不多了... ...
6. sql 中在什么情况下使用视图,有什么好处
您好:(通俗解释,纯手打。)
一般的关系型数据库都支持视图;视图仅支持查询,不支持增删改等数据操作。您可以将视图当作是一种临时表。其存在的意义就是方便进行查询,例如你需要在一起查询中查询多个关联表的内容,那么可以将查询关系先建立好一个视图;如此你在程序中直接可以针对于视图进行查询,方便地直接得到你想要的查询结果。
使用情况:例如使用到字典表的时候,我们需要多次关联字典表中的内容;
好处:方便查询(主要),在一定程度上提高效率(不绝对,视具体情况。)
7. SQL Server 视图查询慢,如何优化请不要复制粘贴谢谢
慢的原因在:野野【DELETE_FLAG
IN
('R',
'X',
'U',
'D')】,查询中出现【in】的话数据库会解析成下面这个样子去执行。
【DELETE_FLAG='R'
OR
DELETE_FLAG='X'
OR
DELETE_FLAG='U'
OR
DELETE_FLAG='D'】
而数据库一旦使用了【OR】条件做查询的话,索引就不会用到了,因此就会造成查询过慢。
建议:
SELECT
。。。。。
WHERE
DELETE_FLAG='R'启激
UNION
SELECT
。。。。。
WHERE
DELETE_FLAG='X'
UNION
SELECT
。。。。。
WHERE
DELETE_FLAG='U'
UNION
SELECT
。。。。。
WHERE
DELETE_FLAG='D'
另外补充一点,视图本身就会造成悄脊袜效率低,因为视图存的是sql定义,当执行查询的时候
数据库会先上磁盘上查询视图定义
再利用视图定义查询数据,这样就产生了至少两次磁盘i/o,oracle中有物化视图的概念,SqlServer中应该也有,如果我的改善计划还不能达到你的要求的话,建议考虑一下。
---
以上,希望对你有所帮助。
8. SQL中使用视图的优点和缺点是什么
视图的优点与缺点
在程序设计的时候必须先了解视图的优缺点,这样可以扬长避短,视图具有如下的一些优点:
● 简单性。视图不仅可以简化用户对数据的理解,也可以简化他们的操作。那些被经常使用的查询可以被定义为余消视图,从而使用户不必为以后的操作每次都指定全部的条件。
● 安全性。通过视图用户只能查询和修改他们所能见到的数据。数据库中的其他数据则既看不见也取不到。数据库授权命令可以使每个用户对数据库的检索限制到特定的数据库对象上,但不能授权到数据库特定行竖扮知和特定的列上。通过视图,用户可以被限制在数据的不同子集上。
● 逻辑数据独立性。视图可以使应用程序和数据库表在一定程度上独立。如果没有视图,应用一定是建立在表上的。有了视图之后,程序可以建立在视图之上,从缺早而程序与数据库表被视图分割开来。
视图也存在一些缺点,主要如下。
● 性能:SQL Server必须把视图的查询转化成对基本表的查询,如果这个视图是由一个复杂的多表查询所定义,那么,即使是视图的一个简单查询,SQL Server也把它变成一个复杂的结合体,需要花费一定的时间。
● 修改限制:当用户试图修改视图的某些行时,SQL Server必须把它转化为对基本表的某些行的修改。对于简单视图来说,这是很方便的,但是,对于比较复杂的视图,可能是不可修改的。
所以,在定义数据库对象时,不能不加选择地来定义视图,应该权衡视图的优点和缺点,合理地定义视图。
9. oracle带参数的视图缺点
缺点: 数据及时性不好,如果服务器枯拿袜配置较⾼此缺点可以忽略sql server必须把视图查询转化成对基本表的查询,没激如果这个视图是由一个复杂的多表查询所定义,那么,即使是视图的一个简单查询,sql server也要把它变成一个复杂的结合体,需要花费一定的时间。
2)修改限制
当用户试图修改试图的某些信息时,数据库必须把它转化为对基本表的某些信息的修改,对于简单的试图来说,这是很方便的,但是,对于比较复杂的试图,可能是不可敏扮修改的。
10. SQL中用view的优缺点
view就是视图。
视图必须要在有表的前提下创陆虚建。纯氏
视图方便做悉散表的查询的 。
不建表就不能建视图。