性能优化:CSFramework.WebApi获取指定日期范围以内的用户有效令牌
性能优化:CSFramework.WebApi获取指定日期范围以内的用户有效令牌
扫一扫加微信
优化建议:
1. Api_UserToken表 【isid】、【TS】、【Account】字段建立索引;
2. 打开CSFramework_WebAPI数据库,替换存储过程:
SQL Code:
ALTER PROCEDURE [dbo].[usp_sys_API_GetUserToken]
AS
BEGIN
/******************************************************
程序说明:获取指定天数以内的用户有效令牌
SELECT * FROM dbo.Api_UserToken
usp_sys_API_GetUserToken
*******************************************************/
--指定日期范围
DECLARE @ExpireDays INT
SELECT @ExpireDays=30;--获取30天以内登录用户的令牌
--获取用户最新的Token清单
SELECT Account, MAX(isid) isid INTO #T FROM dbo.Api_UserToken
WHERE DATEDIFF(dd,TS,GETDATE())<=@ExpireDays
GROUP BY Account
--返回数据(管理用户表,返回手机号码、令牌过期时间)
SELECT a.*,b.Phone,b.TokenExpires FROM dbo.Api_UserToken AS a
INNER JOIN dbo.Api_User AS b ON b.Account = a.Account
WHERE a.isid IN (SELECT isid FROM #T)
END;
//来源:C/S框架网 | www.csframework.com | QQ:23404761
ALTER PROCEDURE [dbo].[usp_sys_API_GetUserToken]
AS
BEGIN
/******************************************************
程序说明:获取指定天数以内的用户有效令牌
SELECT * FROM dbo.Api_UserToken
usp_sys_API_GetUserToken
*******************************************************/
--指定日期范围
DECLARE @ExpireDays INT
SELECT @ExpireDays=30;--获取30天以内登录用户的令牌
--获取用户最新的Token清单
SELECT Account, MAX(isid) isid INTO #T FROM dbo.Api_UserToken
WHERE DATEDIFF(dd,TS,GETDATE())<=@ExpireDays
GROUP BY Account
--返回数据(管理用户表,返回手机号码、令牌过期时间)
SELECT a.*,b.Phone,b.TokenExpires FROM dbo.Api_UserToken AS a
INNER JOIN dbo.Api_User AS b ON b.Account = a.Account
WHERE a.isid IN (SELECT isid FROM #T)
END;
//来源:C/S框架网 | www.csframework.com | QQ:23404761
扫一扫加微信
版权声明:本文为开发框架文库发布内容,转载请附上原文出处连接
NewDoc C/S框架网