使用语句查询SQL Server执行过的语句及执行效率
为椒江等地区用户提供了全套网页设计制作服务,及椒江网站建设行业解决方案。主营业务为成都做网站、网站建设、椒江网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
SELECT TOP 1000
ST.text AS '执行的SQL语句',
QS.execution_count AS '执行次数',
QS.total_elapsed_time AS '耗时',
QS.total_logical_reads AS '逻辑读取次数',
QS.total_logical_writes AS '逻辑写入次数',
QS.total_physical_reads AS '物理读取次数',
QS.creation_time AS '执行时间' ,
QS.*
FROM sys.dm_exec_query_stats QS
CROSS APPLY
sys.dm_exec_sql_text(QS.sql_handle) ST
--WHERE QS.creation_time BETWEEN '2015-08-01 00:00:00' AND '2015-09-02 11:00:00'
ORDER BY
QS.creation_time DESC
根据你的需求描述说明的三张商品详细信息表(食品,图书,手机)的主键ID是肯定不会不重复的。那你可以先将三张表内容合并起来,可以并成视图也可以直接临时表,然后在关联你的语句,例如:
--当成一个表来使用
select *
frm (select ID,字段A,字段B from 食品表
union select ID,字段A,字段B from 图书表
union select ID,字段A,字段B from 手机表)a;
或者
--直接建成一个视图
create view 视图名称--表名一样
as
select ID,字段A,字段B from 食品表
union select ID,字段A,字段B from 图书表
union select ID,字段A,字段B from 手机表;
string connstr ="数据库连接语句";
SqlConnection conn = new SqlConnection(connstr);
conn.Open();
string str = string.Format("select * From 用户表 Where UName='{0}' and PWD='{1}'", 输入的账户, 输入的密码);
SqlDataAdapter da = new SqlDataAdapter(str, conn);
DataTable dt = new DataTable();
da.Fill(dt);
conn.Close();
if (dt.Rows.Count 0)
{
MessageBox.Show("存在记录!");
this.Hide();
}
else
{
MessageBox.Show("不存在记录!");
}
如何监控sqlserver 慢查询
1,slow_query_log
这个参数设置为ON,可以捕获执行时间超过一定数值的SQL语句。
2,long_query_time
当SQL语句执行时间超过此数值时,就会被记录到日志中,建议设置为1或者更短。
3,slow_query_log_file
记录日志的文件名。
4,log_queries_not_using_indexes
这个参数设置为ON,可以捕获到所有未使用索引的SQL语句,尽管这个SQL语句有可能执行得挺快。
那肯定的,你用convert的话对比前先转换计算一次,然后在对比,计算两次。如果你这个字段有索引的话,那样索引就失效了
但是如果你直接对比的话,就只要一次计算,而且可以走索引
该语句没有数据测试,如有问题可追问
SELECT * FROM(
--审核未通过的最后一条
SELECT dt.documentID,dt.documentTitle,u.userID,u.userName,MAX(d.dealTime) dealTime,d.dealType
FROM dealdocument d
JOIN systemuser u ON d.dealUser = u.userID
JOIN document dt ON d.dataID= dt.documentID
WHERE dt.documentID ='123456789'--文章主键
AND d.dealType = -1
GROUP BY u.userID
) dealR
LEFT JOIN
(
--审核通过的
SELECT dt.documentID,dt.documentTitle,u.userID,u.userName,d.dealTime ,d.dealType
FROM dealdocument d
JOIN systemuser u ON d.dealUser = u.userID
JOIN document dt ON d.dataID= dt.documentID
WHERE dt.documentID ='123456789'--文章主键
AND d.dealType = 1
GROUP BY u.userID
) dealG ON dealR.documentID = dealG.documentID
ORDER dealR.dealTime,u.userName