国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > 文庫 > 正文

帶參數的sql和不帶參數的sql存儲過程區別第1/2頁

2020-10-29 21:55:10
字體:
來源:轉載
供稿:網友
帶參數的sql語句,在數據庫端,執行的是
exec sp_executesql
eg:

exec sp_executesql N'insert into LCS_Sys_Model ([Model_GUID],[Model_Name],[Model_Desp],[Model_IsSys]) values ( @Model_GUID,@Model_Name,@Model_Desp,@Model_IsSys)', N'@Model_GUID uniqueidentifier,@Model_Name nvarchar(50),@Model_Desp nvarchar(500),@Model_IsSys bit', @Model_GUID = 'F3CD1369-58C0-4A1F-AF88-05FCF734E079', @Model_Name = N'測試實體模型', @Model_Desp = N'實體模型描述', @Model_IsSys = 0


沒有帶值的sql語句。其執行是直接的sql語句。
insert into lcs_Sys_Model ([Model_GUID],[Model_Name],[Model_Desp],[Model_IsSys]) values ( 'F3CD1369-58C0-4A1F-AF88-05FCF734E079','name','desp',1 )


看上面的執行代碼,你會不會認為是下面的高效啊?說實話我也沒有仔細測試過。可是據我所知,sqlserver能夠緩存參數信息和sql編譯后的信息,第一句帶參 數的sql因為前面一部是不變的(紅色部分)。所以能夠緩存起來(就像執行存儲過程一樣)。而下面的一句sql。因為value后面的值總是不固定,因此 sqlserver總是認為是不同的sql語句。因此每次都要重新編譯生成。

以上結論來源于下面的測試代碼。

System.Data.SqlClient.SqlParameter[] parameters = {
new SqlParameter("@Model_GUID", SqlDbType.UniqueIdentifier),
new SqlParameter("@Model_Name", SqlDbType.NVarChar,50),
new SqlParameter("@Model_Desp", SqlDbType.NVarChar,500),
new SqlParameter("@Model_IsSys", SqlDbType.Bit)
};
parameters[0].Value = new Guid("F3CD1369-58C0-4A1F-AF88-05FCF734E079");
parameters[1].Value = "測試實體模型";
parameters[2].Value = "實體模型描述";
parameters[3].Value = false;



string connStr = @"Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=officially;Data Source=LCSNB"SQL2K";
string cmdStr = "insert into LCS_Sys_Model ([Model_GUID],[Model_Name],[Model_Desp],[Model_IsSys]) values ( @Model_GUID,@Model_Name,@Model_Desp,@Model_IsSys)";

System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection(connStr);
System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand(cmdStr);

cmd.Connection = conn;
foreach (var item in parameters)
{
cmd.Parameters.Add(item);
}

12下一頁閱讀全文
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 益阳市| 阿鲁科尔沁旗| 屏边| 布尔津县| 塔河县| 资兴市| 柳林县| 密山市| 永登县| 大埔县| 车险| 合山市| 孙吴县| 石泉县| 河曲县| 东安县| 连平县| 鞍山市| 龙海市| 赣州市| 东乡县| 新竹县| 德令哈市| 黑水县| 绩溪县| 高平市| 抚顺县| 新化县| 汽车| 韶山市| 龙泉市| 乌鲁木齐市| 临澧县| 酒泉市| 绥滨县| 逊克县| 威海市| 长顺县| 白城市| 广平县| 商丘市|