我们正在对用经典ASP编写的古老应用程序进行故障排除,该应用程序访问SQL Server 2005数据库。这只是一个Intranet应用程序。
ASP页面设置为一次分页200,000条记录,10/20或30条记录。我们计划将此应用程序移动到更新的语言等。与此同时,我们已被要求确定已将多少字节转移到客户端。
SQL查询是这样的:
db_server = "<server name>"
db_name = "<database name>"
db_username = "<user name>"
db_userpassword = "<password>"
connectstr = "Driver={SQL Server};SERVER=" & db_server & ";DATABASE=" & db_name & ";UID=" & db_username & ";PWD=" & db_userpassword
With objCn
.CursorLocation = adUseClient
.ConnectionTimeout = 15
.CommandTimeout = 30
.ConnectionString = connectstr
.Open
End With
With objRs
.ActiveConnection = objCn
.CursorLocation = adUseClient
.CursorType = adOpenForwardOnly
.LockType = adLockReadOnly
.Source = sql
.PageSize = intPageSize
.Open
Set .ActiveConnection = Nothing 'Disconnect the recordset
End With
ASP继续浏览返回数据,这是我们想知道客户端实际接收到多少字节的地方。我们认为它只是简单地获取pagesize并将其乘以返回的数据字段长度,因为光标一次只返回一个“页面”。这么简单吗?我们是否遗漏了该计算中的任何重大开销?