我有一个 PHP 页面,它在查询 MSSQL 数据库时速度很慢。我正在使用最新的 PHP 和标准 SQL odbc 驱动程序连接到数据库。访问页面时,我的 sql profiler 发疯了。然后显示查询
exec sp_cursorfetch 180150003,2,1,1
go
在 finally 之前执行大约 240 次
exec sp_cursorclose 180150003
go
发生并显示页面。
这是导致头痛的查询:
<?php
$con = odbc_connect('Hesk','Trace_user','*******');
$Assets = odbc_exec($con, "SELECT AssetName, AssetID From viewAssets ORDER BY [AssetName];");
?>
<table Border ="0" width="100%">
<tr>
<td style="text-align:right" width="150"><?php echo $hesklang ['asset']; ?>: <font class="important"></font>
</td>
<td width = "80%"><select name ="asset">
<option value=""></option>
<?php
while ($row = odbc_fetch_array($Assets))
{
echo '<option value="' . $row['AssetID'] . '"' . (($_SESSION['c_asset'] == $row['AssetID']) ? ' selected="selected"' : '')
. '>' . $row['AssetName']. '</option>';
}
odbc_close($con);
?>
</select></td>
</tr>
</table>
知道我的代码是如何导致这种性能停滞的吗?