ColdFusion执行不需要的SQL语句

Jas*_*son 5 sql-server twitter coldfusion sql-server-2005 exec

我有一个从twitter加载大量数据的应用程序.我们已经开始注意到一些性能问题,因此我为应用程序数据库设置了SQL Profiler.我注意到以下SQL语句正在执行但不会出现在我的代码中的任何位置.因此,我假设SQL Server 2005或ColdFusion 8由于某种原因正在添加这些语句.

  1. SET TRANSACTION ISOLATION LEVEL READ COMMITTED
  2. SET FMTONLY ON select Title from Links where 1=2 SET FMTONLY OFF
  3. exec [sys].sp_datatype_info_90 -9,@ODBCVer=4
  4. EXEC sp_executesql N'set implicit_transactions off select USER_NAME() select usertype,type,name from systypes where usertype>=257'
  5. EXEC sp_execute 16,'iTunes Store'
  6. exec sp_unprepare 28
  • 我的代码中没有任何cftransaction
  • 我的所有查询都是从cfqueries运行的.(没有存储过程)
  • 我永远不会在我的代码中的任何地方运行执行或执行语句
  • 所有这些语句都是从我专门为我的Web应用程序设置的数据库用户帐户运行的
  • #5和#6中的语句用许多不同的数字复制
  • #5中的语句使用许多不同的字符串进行复制

为什么要添加这些语句,是否需要,如果不是,我该如何阻止它们?

Goy*_*uix 4

1,2,3,4 可以在“正常”ColdFusion 代码中考虑 - 假设您使用的是版本 8 或 9。它在后端进行各种处理,以确保数据库服务器有能力并准备好自动返回信息ColdFusion 请求作为 CFQUERY 的一部分,即使在实际查询中可能没有显式调用它。

http://www.forta.com/blog/index.cfm/2007/7/6/ColdFusion-8-Can-Return-Identity-Values

我不知道5和6在做什么。

另外,您使用 Adob​​e 提供的 MS SQL 驱动程序还是使用 MS JDBC SQL 驱动程序?使用这两个驱动程序之间存在一些差异:

http://cfsearching.blogspot.com/2008/03/cf8-ms-jdbc-12-driver-and-for-my-next.html