我的难题之一:如何计算一个SQL查询语句的效率?(100分)

  • 主题发起人 主题发起人 wddelphi
  • 开始时间 开始时间
天!执行速度这么夸张!
有没有什么办法测试SQL Server和Oracle执行SQL的时间?
我明天直接在数据库里试一试,哪怕用秒表。
还有以前你用的是那一句?我随手瞎写一个怕不具备代表性。
我还是怀疑foxpro的特殊性,别的数据库不会这么明显的。记得我有一次拆分表(1100万条),分成30个表,每次生成一个,每个表记录数相差不大。
每次都是在70~90分钟,一点都没有快啊!

我睡觉去了,做个好梦,睡个好觉,你也一样!
 
我觉得它把结果这句SQL 对应的查询结果存了下了。内部一比较,哦,这个sql查过,直接调用结果。
要不然决不可能提高这么多,整整一个数量级啊!!!
 
其实我的语句也就是最普通的,而且数据量也不大,当时正在学SQL语句,都照着书敲。
这是我刚才在SQL Server中试的。

select * from Personnel

第一次执行:

SQL Server Execution Times:
CPU time = 0 ms, elapsed time = 0 ms.
SQL Server parse and compile time:
CPU time = 0 ms, elapsed time = 1 ms.
SQL Server parse and compile time:
CPU time = 0 ms, elapsed time = 0 ms.
P_id P_name P_department
-------------------- ---------- --------------------
……
(43 row(s) affected)

Table 'Personnel'. Scan count 1, logical reads 2, physical reads 0, read-ahead reads 2.

SQL Server Execution Times:
CPU time = 0 ms, elapsed time = 13 ms.
SQL Server parse and compile time:
CPU time = 0 ms, elapsed time = 0 ms.

SQL Server Execution Times:
CPU time = 0 ms, elapsed time = 0 ms.


第二次执行:


SQL Server Execution Times:
CPU time = 10 ms, elapsed time = 0 ms.
SQL Server parse and compile time:
CPU time = 0 ms, elapsed time = 1 ms.
SQL Server parse and compile time:
CPU time = 0 ms, elapsed time = 0 ms.
P_id P_name P_department
-------------------- ---------- --------------------
……
(43 row(s) affected)

Table 'Personnel'. Scan count 1, logical reads 2, physical reads 0, read-ahead reads 0.

SQL Server Execution Times:
CPU time = 0 ms, elapsed time = 0 ms.
SQL Server parse and compile time:
CPU time = 0 ms, elapsed time = 0 ms.

SQL Server Execution Times:
CPU time = 0 ms, elapsed time = 0 ms.
 
用一些第三方工具,比如quest,还有什么lecco,都很好用
 
各位大虾、小虾:讲的具体一点,我特笨,没什么文化,看不懂。
 
如果数据库是SQL Server 起 查询分析器自带跟踪功能,只须查询后
按快捷键 Ctrl+L
试试吧 很管用
 
有谁能讲一下怎样分析SQL的效率,我想了解一下这方面的理论,谢谢!
 
我要的不是一个工具,而是想了解一下这方面的理论,谁可以提供一点吗,谢谢!
 
呵,谢谢你提醒有的,SQL中自带的,我看书时见过,我再找找!
 
use explain plan tools.
you can calculate performance base on the cost or time
 
我只会计算Money
 
Query Analyzer 不是也有吗
 
找到没有啊,天真?
 
看来也没人知道了![:(]
 
后退
顶部