Sample performance with In-Memory OLTP in WideWorldImporters
This script simulates an insertion workload for vehicle location in the WideWorldImporters sample database. Note that this script is single-threaded. For a multi-threaded variant, see the vehicle-location-insert workload driver.
The main purpose is to compare the performance of data insertion into traditional disk-based tables compared with memory-optimized tables. For a more comprehensive sample demonstrating the performance of In-Memory OLTP see the in-memory/ticket-reservations sample.
Contents
About this sample
Before you begin
Running the sample
Sample details
Disclaimers
Related links
About this sample
- Applies to: SQL Server 2016 (or higher), Azure SQL Database
- Key features: Core database features
- Workload: single-threaded insert
- Programming Language: T-SQL
- Authors: Greg Low, Jos de Bruijn
- Update history: 25 May 2016 - initial revision
Before you begin
To run this sample, you need the following prerequisites.
Software prerequisites:
- SQL Server 2016 (or higher) or Azure SQL Database.
- The WideWorldImporters database.
Running the sample
-
Execute the script in SSMS.
-
Observe the time taken for the inserts in disk-based and memory-optimized tables.
Sample details
This script creates comparable disk-based and memory-optimized tables, as well as corresponding stored procedures, for vehicle location insertion.
It then compares the performance of single-threaded insert of 500,000 rows:
- into a disk-based table
- into a memory-optimized table
- into a memory-optimized table, with rows generated in a natively compiled stored procedure
The script outputs the time taken for each
Disclaimers
The code included in this sample is not intended to be used for production purposes.
Related Links
For more information, see these articles: