最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

帶參數(shù)的sql和不帶參數(shù)的sql存儲(chǔ)過程區(qū)別第1/2頁

 更新時(shí)間:2008年09月03日 00:27:14   作者:  
來執(zhí)行我們sql語句,看到很多分頁存儲(chǔ)過程都是直接拼湊sql語句然后用exec('')執(zhí)行起來了,這個(gè)從效率和安全上面來說,都是不推薦的。
帶參數(shù)的sql語句,在數(shù)據(jù)庫端,執(zhí)行的是
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'測試實(shí)體模型', @Model_Desp = N'實(shí)體模型描述', @Model_IsSys = 0


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


看上面的執(zhí)行代碼,你會(huì)不會(huì)認(rèn)為是下面的高效???說實(shí)話我也沒有仔細(xì)測試過。可是據(jù)我所知,sqlserver能夠緩存參數(shù)信息和sql編譯后的信息,第一句帶參 數(shù)的sql因?yàn)榍懊嬉徊渴遣蛔兊?紅色部分)。所以能夠緩存起來(就像執(zhí)行存儲(chǔ)過程一樣)。而下面的一句sql。因?yàn)関alue后面的值總是不固定,因此 sqlserver總是認(rèn)為是不同的sql語句。因此每次都要重新編譯生成。

以上結(jié)論來源于下面的測試代碼。

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 = "測試實(shí)體模型";
parameters[2].Value = "實(shí)體模型描述";
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);
}

相關(guān)文章

  • Mybatis查詢延遲加載詳解及實(shí)例

    Mybatis查詢延遲加載詳解及實(shí)例

    這篇文章主要介紹了Mybatis查詢延遲加載詳解及實(shí)例的相關(guān)資料,Mybatis的延遲加載默認(rèn)是關(guān)閉的,即默認(rèn)是一次就將所有的嵌套SQL一并查了將對(duì)象所有的信息都查詢出來。開啟延遲加載有兩種方式,需要的朋友可以參考下
    2017-01-01
  • 快速解決openGauss數(shù)據(jù)庫pg_xlog爆滿問題

    快速解決openGauss數(shù)據(jù)庫pg_xlog爆滿問題

    這篇文章主要介紹了openGauss數(shù)據(jù)庫pg_xlog爆滿問題解決,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-04-04
  • ETL方法與過程講解

    ETL方法與過程講解

    這篇文章主要介紹了ETL方法與過程講解,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-05-05
  • 通過一分鐘快速了解索引技巧

    通過一分鐘快速了解索引技巧

    這篇文章主要給大家介紹了如何通過一分鐘快速了解索引技巧的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用索引具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • GaussDB數(shù)據(jù)庫何創(chuàng)建修改數(shù)據(jù)庫和數(shù)據(jù)表的方法

    GaussDB數(shù)據(jù)庫何創(chuàng)建修改數(shù)據(jù)庫和數(shù)據(jù)表的方法

    GaussDB 是一款由華為開發(fā)的企業(yè)級(jí)分布式數(shù)據(jù)庫,具有高性能、高可用、高可靠性等特點(diǎn),廣泛應(yīng)用于各種業(yè)務(wù)場景,本指南將介紹如何在 GaussDB 中創(chuàng)建數(shù)據(jù)庫和數(shù)據(jù)表,修改表結(jié)構(gòu),并添加約束,需要的朋友可以參考下
    2024-06-06
  • where 子句的執(zhí)行順序

    where 子句的執(zhí)行順序

    貌似在2005之前的版本中,where子句的順序是從前往后的。但是又貌似在2005的版本中進(jìn)行了優(yōu)化,所有的順序都被統(tǒng)一成了以過濾能力進(jìn)行排序的語句。
    2009-04-04
  • redis數(shù)據(jù)庫查找key在內(nèi)存中的位置的方法

    redis數(shù)據(jù)庫查找key在內(nèi)存中的位置的方法

    這篇文章主要介紹了redis數(shù)據(jù)庫查找key在內(nèi)存中的位置的方法,需要的朋友可以參考下
    2014-03-03
  • navicat刪除oracle表的操作方法

    navicat刪除oracle表的操作方法

    在本篇文章中我們給大家分享一篇關(guān)于navicat怎么刪除oracle表的相關(guān)內(nèi)容,有需要的朋友們跟著學(xué)習(xí)下。
    2019-08-08
  • SQLyog下載、安裝超詳細(xì)教程(親測永久有效)

    SQLyog下載、安裝超詳細(xì)教程(親測永久有效)

    SQLyog能夠幫助用戶輕松管理自己的MYSQL數(shù)據(jù)庫,SQLyog中文版支持多種數(shù)據(jù)格式導(dǎo)出,可以快速幫助用戶備份和恢復(fù)數(shù)據(jù),還能夠快速地運(yùn)行SQL腳本文件,為用戶的使用提供便捷
    2021-04-04
  • hadoop map-reduce中的文件并發(fā)操作

    hadoop map-reduce中的文件并發(fā)操作

    hadoop mapreduce最主要的應(yīng)用是基于鍵值對(duì)的數(shù)據(jù)的運(yùn)算,過濾,提取。但除此之外,我們可以順帶利用mapreduce高并發(fā)的特性做一些用常用方法難以處理的問題,比如大量數(shù)據(jù),大量文件的并發(fā)讀寫
    2014-04-04

最新評(píng)論

长海县| 启东市| 三明市| 海宁市| 溆浦县| 奉新县| 界首市| 衡南县| 龙门县| 长子县| 吉木乃县| 农安县| 彭阳县| 肃宁县| 开封市| 阿巴嘎旗| 舞阳县| 七台河市| 崇阳县| 黄骅市| 安宁市| 卓资县| 广河县| 定安县| 福州市| 凌云县| 河南省| 五大连池市| 乡城县| 开江县| 甘肃省| 屏东县| 汾西县| 武乡县| 海伦市| 延寿县| 沭阳县| 正蓝旗| 奈曼旗| 台东市| 洮南市|