熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> SQL Server >> 正文

用SQL測試具有百萬條記錄的數據庫

2013-11-15 14:37:26  來源: SQL Server 

  如果沒有現實的數據集的話進行基准測試就完全是浪費時間Arthur Fuller向你展示了你可以怎樣設置你的測試讓它能順利測試那些包含百萬行以上數據的數據庫並且返回更准確的測試結果
  
  TechRepublic免費發行了一種SQLServer時事通訊該刊每周二刊發裡面有hands on提示它可以幫助你更熟練的使用這個強大的相關數據庫管理系統
  
  進行基准測試的時候你很可能會采取下面的步驟設計一個數據庫它的任何一個表格裡面都是連一行數據都沒有(因為所有的查詢都是閃電式進行的)在該數據庫裡面填上幾行測試數據然後再測試該數據庫不過如果你知道你要測試的數據庫包含著上百萬行的數據其中的每個表格都被填得滿滿的那麼你認為你得到的測試結果的准確率會如何呢?
  
  為了了解當測試的數據庫包含上百萬行的數據時會出現什麼樣的情況你有必要在現有的表格的基礎上將它的行數增加到大約一百萬(這個表格原來有行)你還要給所有的行都設一個主鍵這些工作的每一項你都是分開做的就像下面的編碼所顯示的
  
  USE northwind
  
  SELECT COUNT(*) FROM [Source Table]
  
  SELECT * INTO TempTable FROM [Source Table]
  
  SELECT COUNT(*) FROM [TempTable]
  
  GO
  
  DECLARE @i Integer
  
  SET @i =
  
  WHILE @i < BEGIN INSERT INTO TempTableSELECT * FROM TempTable SET @i = @i + END
  
  SELECT COUNT(*) FROM TempTable
  
  SELECT Identity( int ) AS PK * INTO BigTable FROM TempTable
  
  GO
  
  SELECT COUNT(*) FROM BigTable
  
  GO
  
  DROP TempTable
  
  CREATE CLUSTERED INDEX BigTable_Index
  
  ON BigTable (PK)
  
  這個編碼產生了一萬行數據也就是說在原來的表格的基礎上增加了九倍的行數接下來它會用SELECT語句來給該表添加一個主鍵
  
  現在你可以用一個現成的數據集來開始進行你的基准測試了如果你的這個現成的數據集需要上千萬的行的話你只需要修改WHILE@I這一命令行將上限設置成就行了
  
  注意盡管寫出一個產生數據的工具是可能的這個提示裡面卻並沒有講這些不過它裡面也有一些可以用來產生數據的工具Sybase PowerDesigner就包含了一個很巧妙的工具它可以讓你把帶有示例數據的文本文件倒入到相應的表中並且能依照表之間的各種關聯關系生成不同的關系樹
From:http://tw.wingwit.com/Article/program/SQLServer/201311/22081.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.