SqlServer資料插入效能小記

標籤:  對於SQL效能,已經很久沒關注了。由於近期項目既沒有幾千萬的海量資料也沒有過多的效能要求,所以在效能上也就沒下太多功夫。然而,前不久和朋友閑談間話題一轉就說到程式上了,他說他用Delphi做了個資料匯入的功能,插入資料的時候感覺很慢。以個人對SQL的瞭解,就建議他使用批量插入的方式,並很認真的告訴他這樣應該會快很多。而在實際工作中,類似大量匯入資料的功能是非常常見的,也許一個不小心我們就搞掛了伺服器。那就究竟要怎麼做才能給伺服器留條活路,讓使用者不用點完上傳看部電影再看上傳結果呢?為此

SQL SERVER獲得指定表的主鍵

標籤:有時候要獲得表主鍵欄位,雖然系統內建有預存程序可以獲得,但是對於熟悉系統資料表的話,自己寫個也很容易。 2 Declare @table_name varchar(100) 3 Set @table_name=‘table_Pqs‘ 4 --1、可以根據系統預存程序 5 Execute sp_pkeys @table_name 6 7 --2、根據系統資料表獲得 8 Declare @objectid int 9 Set

SQL Server '已超過了鎖請求逾時時段' 問題解決方案

標籤:鎖   sql   SQL 有時遇到 已超過了鎖請求逾時時段。 (Microsoft SQL Server,錯誤: 1222)這個錯誤,重新整理以後,右擊某張表或者庫,發現裡面的表全部消失了 或者查詢不到。 這是因為 sql進程死結,資源被搶佔,要解決這個問題,得殺死關閉 死結的進程,下面介紹解決方案:殺死進程的前提是找到 那個死結的進程 ,SELECT blocking_session_id ‘阻塞進程的ID‘,

教你幾種在SQLServer中重複資料刪除資料方法

標籤:轉載地址:http://www.jb51.net/article/22980.htm方法一 複製代碼 代碼如下:declare @max integer,@id integer declare cur_rows cursor local for select 主欄位,count(*) from 表名 group by 主欄位 having count(*) > 1 open cur_rows fetch cur_rows into @id,@max while

Sql Server 刪除所有表

標籤:如果由於外鍵約束刪除table失敗,則先刪除所有約束: --/第1步**********刪除所有表的外鍵約束*************************/ DECLARE c1 cursor forselect ‘alter table [‘+ object_name(parent_obj) + ‘] drop constraint [‘+name+‘]; ‘from sysobjectswhere xtype = ‘F‘open c1declare @c1

sql server中批量插入與更新兩種解決方案分享

標籤:若只是需要大批量插入資料使用bcp是最好的,若同時需要插入、刪除、更建立議使用SqlDataAdapter我測試過有很高的效率,一般情況下這兩種就滿足需求了 bcp方式 複製代碼 代碼如下: /// <summary> /// 大批量插入資料(2000每批次) /// 已採用整體事物控制 /// </summary> /// <param name="connString">資料庫連結字串</param> /// <param

sql server字串相加為NULL

標籤:sql server TSQL在有字串拼接的情況下,必須要初始化字串,set @errorMsg += N‘表 role 沒有主鍵‘+‘.‘;如果沒有給@errorMsg賦初始值,則select @errorMgs得到的永遠是NULL;declare @errorMsg nvarchar(500);declare @tmpErrorMsg nvarchar(500);declare @pkCount int;declare @PKTable table(TABLE_QUALIFIER

SqlServer參數化指令碼與自動參數化(簡單參數化)

標籤:      如果執行不帶參數的SQL語句,SQL Server會在內部對該語句進行參數化以增加將其與現有執行計畫相匹配的可能性。此過程稱為簡單參數化(在SQL Server 2000中,稱為自動參數化),最終起到執行計畫重用的效果。--從資料緩衝池中刪除所有緩衝DBCC DROPCLEANBUFFERS GO--從執行計畫緩衝區刪除所有緩衝的執行計畫DBCC FREEPROCCACHE GO--執行不帶參數的SQL語句,

SQL Server遊標的使用

標籤: 在關聯式資料庫中,我們對於查詢的思考是面向集合的。而遊標打破了這一規則,遊標使得我們思考方式變為逐行進行.對於類C的開發人員來著,這樣的思考方式會更加舒服。       正常面向集合的思維方式是:             

轉載——SQL Server資料庫效能最佳化之SQL語句篇

標籤:轉載自:http://www.blogjava.net/allen-zhe/archive/2010/07/23/326927.html 1. 按需索取欄位,跟“SELECT *”說拜拜欄位的提取一定要按照“用多少提多少”的原則,避免使用“SELECT

SQL Server 中master..spt_values的應用

標籤:今天在做資料分析報表的時候遇到一個這樣的問題。表結構如下。 部門編碼、部門名稱、部門人員ID(中間用逗號分割)我想通過和人員錶鏈接,查詢出一個新的資料集,查詢出的結果集格式如下:

linxu php串連sqlserver

標籤: 今天linux的yum也不能用,用的是第三方的yum源,yum安裝好後更新header又花了很長時間。記得安裝指定安裝目錄要用 --with-php-config=PATH命令。 CentOS 6安裝PHP pdo_dblib擴充十月 14TH, 2014 | CENTOS 6安裝PHP PDO_DBLIB擴充已關閉評論第一步:先安裝freetds及相關庫yum install freetds freetds-develyum install

SQL Server資料庫效能最佳化之SQL語句篇

標籤:SQL Server資料庫效能最佳化之SQL語句篇近期項目需要,做了一段時間的SQL Server效能最佳化,遇到了一些問題,也積累了一些經驗,現總結一下,與君共用。SQL

sqlserver 執行Regex,調用c# 函數、代碼

標籤:c#   .net   sqlserver   --1.建立SqlServerExt項目,編寫 C# 方法產生 SqlServerExt.DLL 檔案using System;using System.Data;using System.Data.SqlClient;using System.Data.SqlTypes;using

筆記-Microsoft SQL Server 2008技術內幕:T-SQL語言基礎-09 事務和並發

標籤:事務必須有四個屬性:原子性、一致性、隔離性、持久性,這四個屬性的首字母可以縮寫為ACID。以下代碼定義了一個事務,插入新訂單資料:-- Start a new transactionBEGIN TRAN; -- Declare a variable DECLARE @neworderid AS INT; -- Insert a new order into the Sales.Orders table INSERT INTO Sales.Orders (custid,

轉載——SQL Server中Rowcount與@@Rowcount的用法

標籤:轉載自:http://www.lmwlove.com/ac/ID943  rowcount的用法:rowcount的作用就是用來限定後面的sql在返回指定的行數之後便停止處理,比如下面的樣本,set rowcount 10select * from 表A這樣的查詢只會返回表A中的前10條資料。它和 "select top 10 * from 表A" 的

sql server 判斷是否存在資料庫,表,列,視圖

標籤:sql判斷預存程序是否存在判斷資料庫教程是否存在Sql代碼if exists (select * from sys.databases where name = ’資料庫名’) drop database [資料庫名] if exists (select * from sys.databases where name = ’資料庫名’) drop database [資料庫名]判斷表是否存在Sql代碼if exists

ThinkPHP串連sql server資料庫

標籤:原文:ThinkPHP串連sql server資料庫親身經曆,在網上找串連sql

sqlserver 修改替換text,ntext類型欄位的兩種方案

標籤:方案一 用Update和Replace--替換語句(因為varchar(max)最大值是8000,所以大於8000的部分會被截掉)UPDATE dbo.SNS_UserBlog SET [Description]=REPLACE(CAST([Description] AS VARCHAR(max)),‘sx‘,‘‘)WHERE BlogID=142這個方案有一定局限性那就是欄位的長度不能超過8000。方案二 UPDATETEXT 方法--更新語句DECLARE @ptrval

asp.net 串連sqlserver資料庫

標籤:在asp.net中串連sqlserver資料庫之前,首先得確保正常安裝了sqlserver2008,同時有資料庫。在項目中添加一個類DB,用來專門負責執行對資料庫的增刪改查。在添加的過程中會彈出下面的一個提示直接點是就可以了。在這個類中,首先定義一個連線物件 private SqlConnection conn = null;然後定義下面三個函數private void SetConnection()//初始化連線物件 { if (conn == null)

總頁數: 792 1 .... 684 685 686 687 688 .... 792 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.