前两天老大让做一个,所有等待后台充值订单的提醒功能,可以很方便的提醒客服及时进行充值。
但是由于是多表查询,而且不同充值接口的状态还不一样,造成查询较慢。
因为我们的充值过程中,会对表进行加锁,防止多比订单时,订单插入数据库失败现象。所以可能会造成在写数据库的时候,我这边正好在查询数据,造成数据库锁死现象。
所以开始优化SQL语句,我想查询下,到底视图、存储过程、直接执行SQL语句哪个效率更高些。于是想测试下sql的执行时间。
晚上找了下,找到一个比较好的方式(其实微软早都为我们想到了)
在微软的SQL Server中,系统自带这个功能。
可找下菜单下的“查询”-“查询选项”-“高级”里找到相关的设置。界面如此(我用的是SQL Server 2008)
[caption id="attachment_334" align="alignnone" width="662"]
高级sql执行时间SET STATISTICS TIME[/caption]
只需要勾选上SET STATISTICS TIME,然后执行SQL语句,就可在“消息”中查看到结果。
[caption id="attachment_335" align="alignnone" width="1289"]
执行SQL时间查看[/caption]
嘿嘿,希望对大家有帮助^_^