如何记录查询时间?
How can I log query time?
我很少有这样的 oledb 连接:
try
{
OleDbConnection Connection8;
using (Connection8 = new OleDbConnection("Provider=MSDAORA.1;Data Source=DATABASE:1521/orcl;Persist Security Info=True;Password=PASSWORD;User ID=USERNAME;"))
{
string sqlQuery = "select * from TABLE";
using (OleDbDataAdapter cmd = new OleDbDataAdapter(sqlQuery, Connection8))
{
Connection8.Open();
DataTable dt = new DataTable();
cmd.Fill(dt);
GridView5.DataSource = dt;
GridView5.DataBind();
v8 = 1;
Connection8.Close();
}
}
}
catch (Exception)
{
v8 = 0;
}
有些连接等了很久,但我不知道是哪一个。
如何记录或查看每个连接的查询时间?有什么建议吗?谢谢。
您可以使用 Stopwatch:
var stopwatch = new Stopwatch();
DataTable dt = new DataTable();
stopwatch.Start();
Connection8.Open();
cmd.Fill(dt);
stopwatch.Stop();
var timeElapsed = stopwatch.ElapsedMilliseconds;
请注意,在我显示的示例中,打开连接的时间将包含在测量时间中。如果您不需要它并且想要 "pure" 查询执行时间 - 那么只需更改打开连接和启动秒表的顺序 od 行。
我不知道这是否可行,因为您使用的是 OleDbConnection
,但您可以做的一件事是在控制面板中打开 "Odbc Administrator"(一定要检查是否你想要 32 位或 64 位)有一个你可以打开的 "Tracing" 选项卡,它会为你提供所有已处理的 ODBC 请求的日志文件。
但是请记住,正如我所说,因为您使用的是 OleDbConnection
它可能不会记录任何内容。
我以前用过 Glimpse,可能对你也有用:
我很少有这样的 oledb 连接:
try
{
OleDbConnection Connection8;
using (Connection8 = new OleDbConnection("Provider=MSDAORA.1;Data Source=DATABASE:1521/orcl;Persist Security Info=True;Password=PASSWORD;User ID=USERNAME;"))
{
string sqlQuery = "select * from TABLE";
using (OleDbDataAdapter cmd = new OleDbDataAdapter(sqlQuery, Connection8))
{
Connection8.Open();
DataTable dt = new DataTable();
cmd.Fill(dt);
GridView5.DataSource = dt;
GridView5.DataBind();
v8 = 1;
Connection8.Close();
}
}
}
catch (Exception)
{
v8 = 0;
}
有些连接等了很久,但我不知道是哪一个。
如何记录或查看每个连接的查询时间?有什么建议吗?谢谢。
您可以使用 Stopwatch:
var stopwatch = new Stopwatch();
DataTable dt = new DataTable();
stopwatch.Start();
Connection8.Open();
cmd.Fill(dt);
stopwatch.Stop();
var timeElapsed = stopwatch.ElapsedMilliseconds;
请注意,在我显示的示例中,打开连接的时间将包含在测量时间中。如果您不需要它并且想要 "pure" 查询执行时间 - 那么只需更改打开连接和启动秒表的顺序 od 行。
我不知道这是否可行,因为您使用的是 OleDbConnection
,但您可以做的一件事是在控制面板中打开 "Odbc Administrator"(一定要检查是否你想要 32 位或 64 位)有一个你可以打开的 "Tracing" 选项卡,它会为你提供所有已处理的 ODBC 请求的日志文件。
但是请记住,正如我所说,因为您使用的是 OleDbConnection
它可能不会记录任何内容。
我以前用过 Glimpse,可能对你也有用: