我最近不得不将表的列定义之一转换为nvarchar
from varchar
。从那以后,我可以感觉到通过表搜索数据变得更慢了。
我在表中有 4200000+ 行并且还在增长。
我的 Web 应用程序当前不使用存储过程从数据库中检索数据。如果我使用存储过程,它会稍微提高搜索性能吗?
或者你有什么其他的建议可以改进吗?
这是现在使用的查询:
SELECT TOP 100 id, callerID, dateTime, activity, senderNum, msgSent, smsgRespond, msgIn
FROM tbl_activitylog
WHERE callerID = @callerID
ORDER BY id DESC
该列msgSent
是转换为 nvarchar 的列。
下面是表结构:
id (int, Primary Key, Auto Increment)
callerID (bigint)
dateTime (datetime)
activity (varchar(50)
senderNum (int)
msgSent (nvarchar(160))
smsgRespond (varchar(50))
msgIn (varchar(160))
我不明白索引部分。