Collections:
Test Script for INSERT with BIGINT
Where can I get a SQL script to do I/O performance test with INSERT statement using BIGINT without primary key?
✍: FYIcenter.com
 Here is a SQL script to do I/O performance test 
with INSERT statement using BIGINT without primary key.
The test result can provide a baseline for INSERT statement with a primary key.
Here is a SQL script to do I/O performance test 
with INSERT statement using BIGINT without primary key.
The test result can provide a baseline for INSERT statement with a primary key.
-- fyi_insert_bigint.sql
-- Copyright (c) FYIcenter.com 
DECLARE @Count INT
SET @Count = 100
DECLARE @Size INT
SET @Size = 256
DECLARE @STime DATETIME
DECLARE @ETime DATETIME
DECLARE @Duration INT
DECLARE @I INT
DECLARE @Message VARCHAR(5760)
SET @Message = 'The quick brown fox jumps over the lazy dog. '
SET @I = 7
WHILE @I > 0 BEGIN
   SET @Message = @Message+@Message
   SET @I = @I - 1
END
SET @Message = SUBSTRING(@Message,1,(@Size-8)/8-2)
CREATE TABLE TEMP_DATA (
   ID BIGINT,
   MSG_1 VARCHAR(4096),
   MSG_2 VARCHAR(4096), 
   MSG_3 VARCHAR(4096), 
   MSG_4 VARCHAR(4096), 
   MSG_5 VARCHAR(4096), 
   MSG_6 VARCHAR(4096), 
   MSG_7 VARCHAR(4096), 
   MSG_8 VARCHAR(4096)
) 
select t.name, p.partition_id, p.rows, a.type_desc, 
   a.data_space_id, a.data_pages, f.file_id
   into #TEMP_STATS
   from sys.objects t, sys.partitions p, sys.allocation_units a, 
      sys.database_files f
   where t.name = 'FYI_DATA'
      and t.object_id = p.object_id 
      and p.hobt_id = a.container_id
      and a.data_space_id = f.data_space_id
SET @STime = GETDATE()
SET @I = 1
WHILE @I <= @Count BEGIN
   INSERT INTO TEMP_DATA VALUES (@I,@Message,@Message,@Message,@Message,
      @Message,@Message,@Message,@Message)
   SET @I = @I+1
END
SET @ETime = GETDATE()
SET @Duration = DATEDIFF(millisecond,@STime,@ETime)
SELECT @Size AS Size, @Count AS Count, @Duration AS Duration, 
   ''''+CONVERT(VARCHAR,p.partition_id) AS Partition, p.rows-l.rows AS '+Rows', 
   a.type_desc AS Allocation, a.data_pages-l.data_pages AS "+Pages", f.file_id
   from sys.objects t, sys.partitions p, sys.allocation_units a, 
      sys.database_files f, #TEMP_STATS l 
   where t.name = 'FYI_DATA'
      and t.object_id = p.object_id 
      and p.hobt_id = a.container_id
      and a.data_space_id = f.data_space_id
      and l.file_id = f.file_id
      and l.partition_id = p.partition_id
      and l.type_desc = a.type_desc
DROP TABLE #TEMP_STATS
DROP TABLE FYI_DATA
This script uses a temporary table to keep a copy of different counters of about the target table before the test.
New values of those same counters are compared with old values to calculate the changes.
Run the script with the default @Size and @Count values on SQL Server. The output shows that the script is working correctly:
SIZE COUNT DURATION PARTITION +ROWS ALLOCATION +PAGES FILE_ID 256 100 60 '72057601516896256 100 IN_ROW_DATA 4 1 256 100 60 '72057601516896256 100 ROW_OVERFLOW_DATA 0 1
⇒ Test Script for INSERT with PRIMARY KEY
⇐ fn_virtualfilestats() Not Useful on SQL Server 2016
2019-05-18, 1904🔥, 0💬
Popular Posts:
How to Pass Windows Environment Variable to JMeter? I want to use Windows temporary folder environme...
Where to find tutorials on Test Management? I want to know how to manage software testing documents ...
How to generate currency test values? Currency test values are frequently needed in testing date and...
How to generate IP Addresses? To help you to obtain some IP addresses for testing purpose, FYIcenter...
How to generate ISBN numbers? To help you to obtain some ISBN numbers for testing purpose, FYIcenter...