最近、テーブルの列定義の 1 つを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))
インデックス部分がわかりません。