在视图中查询数据的时候,会不会使用实体表中的列上的索引呢?会 。。。。

测试结果

测试脚本

DECLARE @len INT =100;
WHILE @len>0
BEGIN INSERT INTO Teachers
( TeacherName, Sex, MoneyPay )
VALUES (
CAST(@len AS NVARCHAR), -- TeacherName - nvarchar(50)
NULL, -- Sex - bit
10000 -- MoneyPay - decimal
) SET @len-=1;
END go DECLARE @len INT =1000;
WHILE @len>0
BEGIN INSERT INTO Students
( StuName, Address, Birthday )
VALUES ( CAST(@len AS NVARCHAR )+'-'+CAST(@len AS NVARCHAR ), -- StuName - nvarchar(50)
N'', -- Address - nvarchar(200)
GETDATE() -- Birthday - datetime
) SET @len-=1;
END go DECLARE @len_t INT =1;
DECLARE @len_stu INT =1;
WHILE @len_t<=100
BEGIN
SET @len_stu=@len_t; WHILE @len_stu>0
BEGIN
INSERT INTO TeachAndStudent
( TeacherId, StudentId, CreateTime )
VALUES ( @len_t, -- TeacherId - int
@len_stu, -- StudentId - int
GETDATE() -- CreateTime - datetime
)
SET @len_stu-=1;
END SET @len_t+=1;
END
------------test:--------------
--SELECT * FROM Teachers
--GO
--SELECT * FROM Students
--GO
--SELECT COUNT(*) FROM TeachAndStudent
GO
--CREATE VIEW VTeacherAndStudents
--AS
--SELECT
--a.id AS tid,
--c.Id AS stuid,
--a.TeacherName AS tname,
--c.StuName AS sname -- FROM Teachers A
--INNER JOIN TeachAndStudent B ON B.TeacherId=A.Id
--LEFT JOIN Students C ON C.Id = B.StudentId GO SELECT * FROM VTeacherAndStudents a
WHERE a.tid>10 AND a.tid<20

【额 原来ms sqlserver 中的视图果然是“虚表”哈】的更多相关文章

  1. Ms SQLServer中的Union和Union All的使用方法和区别

    Ms SQLServer中的Union和Union All的使用方法和区别 SQL UNION 操作符 UNION 操作符用于合并两个或多个 SELECT 语句的结果集. 请注意,UNION 内部的 ...

  2. MS SQLSERVER中如何快速获取表的记录总数

    在数据库应用的设计中,我们往往会需要获取某些表的记录总数,用于判断表的记录总数是否过大,是否需要备份数据等.我们通常的做法是:select count(*) as c from tableA .然而对 ...

  3. SQLServer中在视图上使用索引(转载)

    在SQL Server中,视图是一个保存的T-SQL查询.视图定义由SQL Server保存,以便它能够用作一个虚拟表来简化查询,并给基表增加另一层安全.但是,它并不占用数据库的任何空间.实际上,在你 ...

  4. Sqlserver中的视图

    一.视图的基本知识 什么是视图:视图是从一个或多个表导出的虚拟的表,具有普通表的结构,物理上是不存在的.视图是动态的数据的集合,数据是随着基表的更新而更新. 视图的优点: ①在多表查询时,查询方便. ...

  5. 在MS SQLSERVER中如何最快的速度清空所有用户表的数据

    有时候我们需要清空数据库中所有用户表的数据,如果一张表一张表的清空的话,遇到一个庞大的数据系统估计得崩溃了.  用游标加上用变量来引用表名就可以做到这一点. 用变量来引用表名对表操作可以用在存储过程中 ...

  6. 在项目中迁移MS SQLServer到Mysql数据库,实现MySQL数据库的快速整合

    在开发项目的时候,往往碰到的不同的需求情况,兼容不同类型的数据库是我们项目以不变应万变的举措之一,在底层能够兼容多种数据库会使得我们开发不同类型的项目得心应手,如果配合快速的框架支持,那更是锦上添花的 ...

  7. SQLServer中使用索引视图

    在SQL Server中,视图是一个保存的T-SQL查询.视图定义由SQL Server保存,以便它能够用作一个虚拟表来简化查询,并给基表增加另一层安全.但是,它并不占用数据库的任何空间.实际上,在你 ...

  8. C#批量插入数据到Sqlserver中的四种方式

    我的新书ASP.NET MVC企业级实战预计明年2月份出版,感谢大家关注! 本篇,我将来讲解一下在Sqlserver中批量插入数据. 先创建一个用来测试的数据库和表,为了让插入数据更快,表中主键采用的 ...

  9. MS SQLServer 批量附加数据库 分类: SQL Server 数据库 2015-07-13 11:12 30人阅读 评论(0) 收藏

    ************************************************************ * 标题:MS SQLServer 批量附加数据库 * 说明:请根据下面的注释 ...

随机推荐

  1. [l转]VLM_on_Linux

    Instructions for running the Symbolics VLM virtual machine on Linux. VLM On Linux From LispMachinery ...

  2. SRAM与SDRAM的比较(转)

    原文:http://blog.csdn.net/fg8181/article/details/2278100 内存在电脑中起着举足轻重的作用,一般采用半导体存储单元,包括随机存储器(RAM),只读存储 ...

  3. ListView开发笔记

    一.ListView有背景,ListItem 透明,但是在点击.拖动时变成白色 android:cacheColorHint="#0000"

  4. JS封装cookie操作函数实例(设置、读取、删除)

    本文实例讲述了JS封装cookie操作函数.分享给大家供大家参考,具体如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 ...

  5. MVC4中 jquery validate 不用submit方式验证表单或单个元素

    正确引入MVC4 jquery验证的相关文件 <script src="/Scripts/jquery-1.4.4.js"></script> <sc ...

  6. Android应用程序请求SurfaceFlinger服务创建Surface的过程分析

    文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/7884628 前面我们已经学习过Android应 ...

  7. [Python笔记][第三章Python选择与循环]

    1月28日学习 Python选择与循环 选择结构 多分枝选择结构 if 表达式 1: 语句块 1 elif 表达式 2: 语句块 2 elif 表达式 3: 语句块 3 ... else : 语句块 ...

  8. Android服务端本地窗口FramebufferNativeWindow

    Android窗口系统 我们知道Android系统采用OpenGL来绘制3D图形,OpenGL ES提供了本地窗口(NativeWindow)的概念,无论是在Android平台中还是其他平台中,只要实 ...

  9. stagefright框架(七)-Audio和Video的同步

    讲完了audio和video的处理流程,接下来要看的是audio和video同步化(synchronization)的问题.OpenCORE的做法是设置一个主clock,而audio和video就分别 ...

  10. sublime 快键

    Keyboard Shortcuts - Windows/Linux Warning This topic is a draft and may contain wrong information. ...