自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

改善基于SQL Server數(shù)據(jù)庫程序的可伸縮性的方案

數(shù)據(jù)庫 SQL Server
以下的文章主要描述的是正確改善基于SQL Server數(shù)據(jù)庫的實(shí)際應(yīng)用程序的可伸縮性之從 INSERT 返回 IDENTITY的實(shí)際操作步驟。

以下的文章主要向大家講述的是正確改善基于SQL Server數(shù)據(jù)庫的實(shí)際應(yīng)用程序的可伸縮性之從 INSERT 返回 IDENTITY的內(nèi)容介紹,在實(shí)際操作中有時(shí),為了讓應(yīng)用程序運(yùn)行得更快,所做的全部工作就是在這里或那里做一些很小調(diào)整。

但關(guān)鍵在于確定如何進(jìn)行調(diào)整!遲早您會(huì)遇到這種情況:應(yīng)用程序中的 SQL 查詢不能按照您想要的方式進(jìn)行響應(yīng)。它要么不返回?cái)?shù)據(jù),要么耗費(fèi)的時(shí)間長得出奇。如果它降低了企業(yè)應(yīng)用程序的速度,用戶必須等待很長時(shí)間。用戶希望應(yīng)用程序響應(yīng)迅速,他們的報(bào)告能夠在瞬間之內(nèi)返回分析數(shù)據(jù)。就我自己而言,如果在Web上沖浪時(shí)某個(gè)頁面要耗費(fèi)十多秒才能加載,我也會(huì)很不耐煩。

 

為了解決這些問題,重要的是找到問題的根源。那么,從哪里開始呢?根本原因通常在于數(shù)據(jù)庫設(shè)計(jì)和訪問它的查詢。我將講述幾項(xiàng)技術(shù),這些技術(shù)可用于提高基于SQL Server的應(yīng)用程序的性能或改善其可伸縮性。

我將仔細(xì)說明 LEFT JOIN、CROSS JOIN 的使用以及IDENTITY 值的檢索。請記住,根本沒有神奇的解決方案。調(diào)整您的數(shù)據(jù)庫及其查詢需要占用時(shí)間、進(jìn)行分析,還需要大量的測試。這些技術(shù)都已被證明行之有效,但對您的應(yīng)用程序而言,可能其中一些技術(shù)比另一些技術(shù)更適用。

 

 

從 INSERT 返回 IDENTITY

 

 

我決定從遇到許多問題的內(nèi)容入手:如何在執(zhí)行SQL INSERT后檢索IDENTITY值。通常,問題不在于如何編寫檢索值的查詢,而在于在哪里以及何時(shí)進(jìn)行檢索。在SQL Server數(shù)據(jù)庫中,下面的語句可用于檢索由***在活動(dòng)數(shù)據(jù)庫連接上運(yùn)行的 SQL 語句所創(chuàng)建的 IDENTITY 值:

 

 

 

  1. SELECT @@IDENTITY 

 

 

這個(gè) SQL 語句并不復(fù)雜,但需要記住的一點(diǎn)是:如果這個(gè)***的 SQL 語句不是 INSERT,或者您針對非 INSERT SQL 的其他連接運(yùn)行了此 SQL,則不會(huì)獲得期望的值。您必須運(yùn)行下列代碼才能檢索緊跟在 INSERT SQL 之后且位于同一連接上的 IDENTITY,如下所示:

 

 

 

  1. INSERT INTO Products (ProductName) VALUES ('Chalk')  
  2. SELECT @@IDENTITY 

 

 

 

在一個(gè)連接上針對 Northwind 數(shù)據(jù)庫運(yùn)行這些查詢將返回一個(gè)名稱為 Chalk 的新產(chǎn)品的 IDENTITY 值。所以,在使用ADOVisual Basic應(yīng)用程序中,可以運(yùn)行以下語句:

 

Set oRs = oCn.Execute("SET NOCOUNT>此代碼告訴 SQL Server 不要返回查詢的行計(jì)數(shù),然后執(zhí)行 INSERT 語句,并返回剛剛為這個(gè)新行創(chuàng)建的 IDENTITY 值。SET NOCOUNT>

此方法雖然有效,但需要在 SQL 語句中額外添加一些代碼。獲得相同結(jié)果的另一方法是在 INSERT 之前使用 SET NOCOUNT> CREATE TRIGGER trProducts_Insert>觸發(fā)器只在 Products 表上發(fā)生 INSERT 時(shí)啟動(dòng),所以它總是會(huì)在成功 INSERT 之后返回一個(gè) IDENTITY。使用此技術(shù),您可以始終以相同的方式在應(yīng)用程序中檢索 IDENTITY 值。

以上的相關(guān)內(nèi)容就是對改善基于SQL Server數(shù)據(jù)庫的應(yīng)用程序可伸縮性之從 INSERT 返回 IDENTITY的介紹,望你能有所收獲。 

【編輯推薦】

  1. SQL Server 2000的分頁存儲(chǔ)過程的改寫
  2. SQL Server業(yè)務(wù)規(guī)則的鏈接技術(shù)之探討
  3. SQL Server子查詢的作用是什么?
  4. 正確識別SQL Server 版本號的操作方案
  5. SQL Server分布式分區(qū)視圖簡介

 

責(zé)任編輯:佚名 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2009-09-16 10:00:14

可伸縮性Web服務(wù)

2009-08-20 10:30:55

可伸縮性系統(tǒng)

2009-11-11 16:07:09

OSPF路由協(xié)議

2016-11-03 13:11:21

phpphp框架

2017-09-07 16:50:47

MySQL性能優(yōu)化

2015-09-17 09:30:50

云架構(gòu)可伸縮性風(fēng)險(xiǎn)

2013-10-16 10:45:29

JVMJava

2011-03-16 13:57:21

SQL Server數(shù)據(jù)庫查詢

2009-04-16 17:30:00

可伸縮管理集成

2024-09-10 09:52:23

軟件架構(gòu)伸縮性

2010-06-30 16:48:19

SQL Server數(shù)

2010-07-21 16:20:45

SQL Server

2010-05-18 17:18:32

IIS服務(wù)器

2010-06-30 15:52:05

2010-07-14 14:36:24

SQL Server附

2010-07-07 10:31:43

SQL Server數(shù)

2010-07-08 11:05:14

SQL Server數(shù)

2011-03-24 09:45:34

SQL Server數(shù)恢復(fù)

2011-03-24 09:07:11

SQL Server數(shù)備份

2011-03-24 09:24:08

SQL Server數(shù)還原
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號