亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

提高sql查詢速率

提高sql查詢速率

慕碼人8056858 2018-12-07 13:36:02
現在一個sql查詢出來得要31秒,求問怎么提高效率,語句如下: select e.emp_no,e.emp_cname,e.emp_ename,e.dept_code,b.[name], ISNULL(convert(nvarchar(20),EventsDateTime,120),'') cardtime?from? [benq].Sky2004.dbo.AccessEvents a,employee e,[benq].Sky2004.dbo.VIEW_DeviceReader b where a.deviceid=b.recnum and b.[name] like '%考勤%'and a.personno=e.emp_noand a.personno in(select c.emp_no from employee c where c.dept_code='2000' and c.active='Y')AND (convert(nvarchar(20),EventsDateTime,112) BETWEEN '2012-08-01' AND '2012-08-21')and e.active='Y'order by? convert(nvarchar(10),EventsDateTime,112) desc,e.emp_no,EventsDateTime
查看完整描述

9 回答

?
一只名叫tom的貓

TA貢獻1906條經驗 獲得超3個贊

創建索引,注意like的不要籌建索引

查看完整回答
反對 回復 2019-01-07
?
白衣染霜花

TA貢獻1796條經驗 獲得超10個贊

select ?e.emp_no,e.emp_cname,e.emp_ename,e.dept_code,b.[name], ISNULL(convert(nvarchar(20),EventsDateTime,120),'') cardtime

from ? [benq].Sky2004.dbo.AccessEvents a,employee ? ? ? ? ? ?[benq].Sky2004.dbo.VIEW_DeviceReader b

where

a.personno not exists (select 1 ?from employee c where c.dept_code='2000' and c.active='Y') AND (convert(nvarchar(20),EventsDateTime,112) BETWEEN '2012-08-01' AND '2012-08-21') and e.active='Y' and??b.[name] like '%考勤%'??

and a.deviceid=b.recnum?

and a.personno=e.emp_no

order by convert(nvarchar(10),EventsDateTime,112) desc,e.emp_no,EventsDateTime ?

查看完整回答
反對 回復 2019-01-07
?
幕布斯7119047

TA貢獻1794條經驗 獲得超8個贊

創建在哪些列中好一些呢

查看完整回答
反對 回復 2019-01-07
?
翻過高山走不出你

TA貢獻1875條經驗 獲得超3個贊

@MikeAndy:?

再試下

select ?e.emp_no,e.emp_cname,e.emp_ename,e.dept_code,b.[name],ISNULL(convert(nvarchar(20),EventsDateTime,120),'') cardtime

from ? [benq].Sky2004.dbo.AccessEvents a,employee ? ? ? ? ? ?[benq].Sky2004.dbo.VIEW_DeviceReader b

where

a.personno exists (select c.personno? from employee c where c.dept_code='2000' and c.active='Y')

AND (convert(nvarchar(20),EventsDateTime,112) BETWEEN '2012-08-01' AND '2012-08-21') and e.active='Y' and??b.[name] like '%考勤%'??

and a.deviceid=b.recnum?

and a.personno=e.emp_no

order by convert(nvarchar(10),EventsDateTime,112) desc,e.emp_no,EventsDateTime ?

查看完整回答
反對 回復 2019-01-07
?
LEATH

TA貢獻1936條經驗 獲得超7個贊

朋友,上面那個試下?我也學習下

查看完整回答
反對 回復 2019-01-07
?
手掌心

TA貢獻1942條經驗 獲得超3個贊

有語法錯誤,等會哈

查看完整回答
反對 回復 2019-01-07
?
HUH函數

TA貢獻1836條經驗 獲得超4個贊

我也覺得沒問題的,但是查詢分析器一直報exists和 AND附近存在語法錯誤,在幫我看看吧,本人實在是小白

查看完整回答
反對 回復 2019-01-07
?
牛魔王的故事

TA貢獻1830條經驗 獲得超3個贊

增加索引 然后不要 like %xx%

查看完整回答
反對 回復 2019-01-07
  • 9 回答
  • 0 關注
  • 789 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號