WEB开发网      婵犻潧鍊婚弲顐︽偟椤栨稓闄勯柦妯侯槸閻庤霉濠婂骸浜剧紒杈ㄥ笚閹峰懘鎮╅崹顐ゆ殸婵炴垶鎸撮崑鎾趁归悩鐑橆棄闁搞劌瀛╃粋宥夘敃閿濆柊锕傛煙鐎涙ê鐏f繝濠冨灴閹啴宕熼鍡╀紘婵炲濮惧Λ鍕叏閳哄懎绀夋繛鎴濈-楠炪垽鎮归崶褍妲婚柛銊ュ缁傚秹鏁撻敓锟� ---闂佹寧娲╅幏锟�
开发学院数据库MSSQL Server 对比SQL Server中XML AUTO和T-SQL命令 阅读

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

 2007-08-02 09:47:12 来源:WEB开发网 闂侀潧妫撮幏锟�闂佸憡鍨电换鎰版儍椤掑倵鍋撳☉娆嶄沪缂傚稄鎷�婵犫拃鍛粶闁靛洤娲ㄩ埀顒佺⊕閵囩偟绱為敓锟�闂侀潧妫撮幏锟�  闂佺ǹ绻楀▍鏇㈠极閻愬灚瀚梺鍨儏閳ь剙绉归弻銊р偓闈涙啞閻h京鈧敻鍋婇崰鏍х暦閿燂拷
核心提示: 很明显更加复杂的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

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