当一个新行插入我的表时会发生表扫描吗?

时间:2017-03-29 00:44:15

标签: sql-server

如果在我的表中插入新行时,如何判断是否正在进行表扫描?就我的桌子的架构而言,我应该寻找什么?

假设有这样一个表:

              People
|-----------------------------------|
| ID  Name  Age  CreatedOn  OrderID |
|-----------------------------------|
| 1   Foo   18   12/30/17   5       |      
| 2   Bar   21   5/30/17    10      |
|-----------------------------------|
  • ID
  • 上的聚集索引
  • Name
  • 上的非群集索引

如果我插入一个新行:

insert into People values('Jane', 30, '10/30/17')
  1. 引擎盖下有什么样的插入逻辑?由于CI或非CI,是否必须扫描每个插件上的表?
  2. 如果我的非CI被定义为:

    create nonclustered index [IX_People_Name] on People ( [Name] asc )
    include ([OrderID])
    
    1. 这对桌子上插入的速度有什么影响吗?

0 个答案:

没有答案