SQL直接在查詢分析運行很快,程式運行時執行很慢

以下方法正常情況下一閃就執行完了
有時候不知道爲什麽抽風(執行要4-5秒),表中數據量就一千多,四欄資料
不知道SQLServer服務器有什麽問題,有什麽調整什麽東西?求大神回覆
Sql也很簡短,沒有鎖
Sql="select arg_value as mail_no from lremailset a(nolock) where arg_type='A' and user_no='" + UserID + "'"
網上有說調整ARITHABORT的參數,試了沒有用
SET ARITHABORT On
SET ARITHABORT OFF

目前重啟SQLServer服務器可以解決問題,但是老是重啟也不是辦法

   public string GetMaxNo(string UserID)
        {
            string SQL = "";
            DataTable dtMail = new DataTable();
            try
            {
                using (SQLHelper conn = new SQLHelper())
                {
                    if (conn.OpenConnection())
                    {
                                        SQL =  "select arg_value as mail_no from lremailset a(nolock) where arg_type='A' and user_no='" + UserID + "'";
 dtMail = conn.OpenDataTable(SQL, CommandType.Text);
   if (dtMail.Rows.Count > 0)
                        {
                            return dtMail.Rows[0]["mail_no"].ToString();
                        }
                    }
                    conn.CloseConnection();
                }
            }
            catch (Exception ex)
            {
                WebPublic.LogHelper.WriteLog("GetMaxNo"+UserID, ex);
                throw ex;
            }
            return "0";
        }

可以查看表是不是死锁了,可以看下那个SQL占用的这个表比较长 然后再分析

查看表是不是锁了,看下那个SQL占用的这个表比较长 然后再分析

你这个是临时连接关闭,你没有关闭,连接会很多。
有时候连接很费时,应该考虑提取conn,一次连接一次关闭。

sql 语句 需要在 MySQL 里面 explan 分析下 查看 索引,从而提升效率

你试试先定义变量,参数化查询:
SQL = "declare @UserID nvarchar(50) = '" + UserID + "'; "
+"select arg_value as mail_no from lremailset a(nolock) where arg_type='A' and user_no=@UserID";

#include
#define MaxNum 100
using namespace std;
typedef struct
{
int data[MaxNum];
int length;
}SqList;

int main()
{
SqList L;
int i,j,k=1,e,m;
cout<<"请输入总人数n和初始值m:"< cin>>L.length>>m;
for(i=0;i L.data[i]=i+1;
int a[L.length];
cout for(i=0;i cin>>a[i];
cout<<"出队顺序为:"<<endl;
while(L.length!=0)
{
k--;
i=(k+m-1)%(L.length);
e=L.data[i];
cout<<e<<'\t';
m=a[i];
for(j=i;j<L.length-1;j++)
{
L.data[j]=L.data[j+1];
a[j]=a[j+1];
}
L.length--;
k=i+1;
}
cout<<endl;
return 0;
}