WEB开发网
开发学院数据库MSSQL Server 对比SQL Server中XML AUTO和T-SQL命令 阅读

对比SQL Server中XML AUTO和T-SQL命令

 2007-08-02 09:47:12 来源:WEB开发网   
核心提示: 很明显更加复杂的XML命令正在创造一个Worktable表,同时也显示了每个命令都比先前的命令做了更多的工作,对比SQL Server中XML AUTO和T-SQL命令(3),XML Auto处理相对少量的数据我会使用相同的表格做同样的测试,但是这次读取更少的数据,接下来查询1000条记录

很明显更加复杂的XML命令正在创造一个Worktable表。同时也显示了每个命令都比先前的命令做了更多的工作。

XML Auto处理相对少量的数据

我会使用相同的表格做同样的测试,但是这次读取更少的数据。

首先,我会为ID列建造一个索引:

  >createuniqueclusteredindexUQ_EmployesonEmployes(id)

接下来我会使用一个WHERE语句来查询我的表,查询100条记录,接下来查询1000条记录。

  100rows:
  SELECT*FROMEmployeswhereidbetween5000and
  5100
  go
  SELECT*FROMEmployeswhereidbetween5000and
  5100
  FORXMLAUTO
  go
  SELECT*FROMEmployeswhereidbetween5000and
  5100
  FORXMLAUTO,TYPE
  go
  SELECT*FROMEmployeswhereidbetween5000and
  5100
  FORXMLAUTO,TYPE,ELEMENTS
  go
  SELECT*FROMEmployeswhereidbetween5000and
  5100
  FORXMLAUTO,TYPE,ELEMENTS,ROOT
  go

SQL Profiler在这些命令之间没有显示出很实质性的差异:

同样的,没有worktable被创建并且所有的命令都有相同的工作量。

  Table'Employes'.Scancount1,logicalreads12,physical
  reads0,read-aheadreads0,loblogicalreads0,lobphysical
  reads0,lobread-aheadreads0.
  Table'Employes'.Scancount1,logicalreads12,physical
  reads0,read-aheadreads0,loblogicalreads0,lobphysical
  reads0,lobread-aheadreads0.
  Table'Employes'.Scancount1,logicalreads12,physical
  reads0,read-aheadreads0,loblogicalreads0,lobphysical
  reads0,lobread-aheadreads0.
  Table'Employes'.Scancount1,logicalreads12,physical
  reads0,read-aheadreads0,loblogicalreads0,lobphysical
  reads0,lobread-aheadreads0.
  Table'Employes'.Scancount1,logicalreads12,physical
  reads0,read-aheadreads0,loblogicalreads0,lobphysical
  reads0,lobread-aheadreads0.

上一页  1 2 3 4  下一页

Tags:对比 SQL Server

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接