zoukankan      html  css  js  c++  java
  • 【额 原来ms sqlserver 中的视图果然是“虚表”哈】

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

    测试结果

    测试脚本

    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
  • 相关阅读:
    Django的路由寻址
    Guava Cache 原理分析与最佳实践
    「必知必会」最细致的 ArrayList 原理分析
    「必知必会」最细致的 LinkedList 原理分析
    oracle listagg() 函数
    .net HttpClient 向 WebApi Post 的方法
    MySql 如何让表名支持大小写
    Java的基本数据类型
    CF666E
    spring使用mybatis执行SQL脚本,创建和初始化数据库
  • 原文地址:https://www.cnblogs.com/micro-chen/p/5507481.html
Copyright © 2011-2022 走看看