公司的業(yè)務(wù)有個(gè)功能需要查詢哪些用戶在某個(gè)時(shí)間內(nèi)跟指定的某個(gè)用戶使用相同的IP登錄,也就是查詢條件是 userid='xxx', addtime>'2018-06-06 00:00:00'Log表的結(jié)構(gòu)是:id int pk,userid varchar(20),ip varchar(50),addtime datetime目前做了組合索引索引1:ip索引2:userid,addtime索引3:userid,addtime,ip當(dāng)數(shù)據(jù)達(dá)到25W條的時(shí)候,根據(jù)查詢的條件所消耗的時(shí)間很長(zhǎng)下面是我目前使用的語(yǔ)句select top 50 [userid],[ip],[addtime] from logwhere [userid]<>'xxx' and addtime>'2018-06-06 00:00:00' and ip in (select ip from log where [userid]='xxx' and addtime>'2018-06-06 00:00:00' group by ip)大家如果有好的辦法,請(qǐng)幫我解決一下,謝謝。
如何從SQL Server表中查詢同IP不同用戶名的資料
肥皂起泡泡
2018-06-28 10:18:37