Commit iniziale
This commit is contained in:
105
node_modules/tedious/benchmarks/query/call-tvp.js
generated
vendored
Normal file
105
node_modules/tedious/benchmarks/query/call-tvp.js
generated
vendored
Normal file
@@ -0,0 +1,105 @@
|
||||
const { createBenchmark, createConnection } = require('../common');
|
||||
|
||||
const { Request, TYPES } = require('tedious');
|
||||
|
||||
const bench = createBenchmark(main, {
|
||||
n: [10, 100]
|
||||
});
|
||||
|
||||
function main({ n }) {
|
||||
createConnection(function(connection) {
|
||||
const request = new Request(`
|
||||
USE tempdb;
|
||||
|
||||
DROP TYPE IF EXISTS TediousTestType;
|
||||
|
||||
CREATE TYPE TediousTestType AS TABLE (
|
||||
FileId uniqueidentifier,
|
||||
FileNumber bigint,
|
||||
FileVersion varchar(20),
|
||||
FileCommitID varchar(40),
|
||||
FileModel nvarchar(max)
|
||||
);
|
||||
`, (err) => {
|
||||
if (err) {
|
||||
throw err;
|
||||
}
|
||||
|
||||
const request = new Request(`
|
||||
CREATE PROCEDURE #__tediousTvpTest @tvp TediousTestType readonly AS BEGIN select COUNT(*) from @tvp END
|
||||
`, (err) => {
|
||||
if (err) {
|
||||
throw err;
|
||||
}
|
||||
|
||||
const tvp = {
|
||||
columns: [
|
||||
{
|
||||
name: 'FileId',
|
||||
type: TYPES.UniqueIdentifier
|
||||
},
|
||||
{
|
||||
name: 'FileNumber',
|
||||
type: TYPES.BigInt
|
||||
},
|
||||
{
|
||||
name: 'FileVersion',
|
||||
type: TYPES.VarChar,
|
||||
length: 20,
|
||||
},
|
||||
{
|
||||
name: 'FileCommitID',
|
||||
type: TYPES.VarChar,
|
||||
length: 40,
|
||||
},
|
||||
{
|
||||
name: 'FileModel',
|
||||
type: TYPES.NVarChar,
|
||||
length: Infinity
|
||||
}
|
||||
],
|
||||
rows: []
|
||||
};
|
||||
|
||||
for (let i = 0; i < 500; i++) {
|
||||
tvp.rows.push([
|
||||
'6F9619FF-8B86-D011-B42D-00C04FC964FF',
|
||||
1,
|
||||
'12345',
|
||||
'6b8bd41619d843b35b13478bb8aa88ea67039a05',
|
||||
new Array(5000).join('x')
|
||||
]);
|
||||
}
|
||||
|
||||
let i = 0;
|
||||
bench.start();
|
||||
|
||||
(function cb() {
|
||||
const request = new Request('#__tediousTvpTest', (err) => {
|
||||
if (err) {
|
||||
throw err;
|
||||
}
|
||||
|
||||
if (i++ === n) {
|
||||
bench.end(n);
|
||||
|
||||
connection.close();
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
cb();
|
||||
});
|
||||
|
||||
request.addParameter('tvp', TYPES.TVP, tvp);
|
||||
|
||||
connection.callProcedure(request);
|
||||
})();
|
||||
});
|
||||
|
||||
connection.execSqlBatch(request);
|
||||
});
|
||||
|
||||
connection.execSqlBatch(request);
|
||||
});
|
||||
}
|
||||
46
node_modules/tedious/benchmarks/query/insert-varbinary.js
generated
vendored
Normal file
46
node_modules/tedious/benchmarks/query/insert-varbinary.js
generated
vendored
Normal file
@@ -0,0 +1,46 @@
|
||||
const { createBenchmark, createConnection } = require('../common');
|
||||
|
||||
const { Request, TYPES } = require('tedious');
|
||||
|
||||
const bench = createBenchmark(main, {
|
||||
n: [10, 100],
|
||||
size: [
|
||||
10,
|
||||
1024,
|
||||
1024 * 1024,
|
||||
10 * 1024 * 1024
|
||||
]
|
||||
});
|
||||
|
||||
function main({ n, size }) {
|
||||
createConnection(function(connection) {
|
||||
const buf = Buffer.alloc(size);
|
||||
buf.fill('x');
|
||||
|
||||
let i = 0;
|
||||
|
||||
bench.start();
|
||||
|
||||
(function cb() {
|
||||
const request = new Request('SELECT DATALENGTH(@value)', (err) => {
|
||||
if (err) {
|
||||
throw err;
|
||||
}
|
||||
|
||||
if (i++ === n) {
|
||||
bench.end(n);
|
||||
|
||||
connection.close();
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
cb();
|
||||
});
|
||||
|
||||
request.addParameter('value', TYPES.VarBinary, buf);
|
||||
|
||||
connection.execSql(request);
|
||||
})();
|
||||
});
|
||||
}
|
||||
63
node_modules/tedious/benchmarks/query/select-many-rows.js
generated
vendored
Normal file
63
node_modules/tedious/benchmarks/query/select-many-rows.js
generated
vendored
Normal file
@@ -0,0 +1,63 @@
|
||||
const { createBenchmark, createConnection } = require('../common');
|
||||
|
||||
const { Request, TYPES } = require('tedious');
|
||||
|
||||
const bench = createBenchmark(main, {
|
||||
n: [10, 100, 1000],
|
||||
size: [10, 100, 1000, 10000]
|
||||
});
|
||||
|
||||
function main({ n, size }) {
|
||||
createConnection(function(connection) {
|
||||
const request = new Request('CREATE TABLE #benchmark ([id] int IDENTITY(1,1), [name] nvarchar(100), [description] nvarchar(max))', (err) => {
|
||||
if (err) {
|
||||
throw err;
|
||||
}
|
||||
|
||||
(function insertNext(num, done) {
|
||||
var request = new Request('INSERT INTO #benchmark ([name], [description]) VALUES (@name, @description)', (err) => {
|
||||
if (err) {
|
||||
throw err;
|
||||
}
|
||||
|
||||
if (num === size) {
|
||||
done();
|
||||
} else {
|
||||
insertNext(num + 1, done);
|
||||
}
|
||||
});
|
||||
|
||||
request.addParameter('name', TYPES.NVarChar, 'Row ' + n);
|
||||
request.addParameter('description', TYPES.NVarChar, 'Example Test Description for Row ' + n);
|
||||
|
||||
connection.execSql(request);
|
||||
})(0, (err) => {
|
||||
let i = 0;
|
||||
|
||||
bench.start();
|
||||
|
||||
(function cb() {
|
||||
const request = new Request('SELECT * FROM #benchmark', (err) => {
|
||||
if (err) {
|
||||
throw err;
|
||||
}
|
||||
|
||||
if (i++ === n) {
|
||||
bench.end(n);
|
||||
|
||||
connection.close();
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
cb();
|
||||
});
|
||||
|
||||
connection.execSql(request);
|
||||
})();
|
||||
});
|
||||
});
|
||||
|
||||
connection.execSqlBatch(request);
|
||||
});
|
||||
}
|
||||
50
node_modules/tedious/benchmarks/query/select-nvarchar.js
generated
vendored
Normal file
50
node_modules/tedious/benchmarks/query/select-nvarchar.js
generated
vendored
Normal file
@@ -0,0 +1,50 @@
|
||||
const { createBenchmark, createConnection } = require('../common');
|
||||
|
||||
const { Request, TYPES } = require('tedious');
|
||||
|
||||
const bench = createBenchmark(main, {
|
||||
n: [10, 100, 1000],
|
||||
size: [10, 100, 1000, 10000]
|
||||
});
|
||||
|
||||
function main({ n, size }) {
|
||||
createConnection(function(connection) {
|
||||
const request = new Request('CREATE TABLE #benchmark ([value] nvarchar(max))', (err) => {
|
||||
if (err) {
|
||||
throw err;
|
||||
}
|
||||
|
||||
var request = new Request('INSERT INTO #benchmark ([value]) VALUES (@value)', (err) => {
|
||||
let i = 0;
|
||||
|
||||
bench.start();
|
||||
|
||||
(function cb() {
|
||||
const request = new Request('SELECT * FROM #benchmark', (err) => {
|
||||
if (err) {
|
||||
throw err;
|
||||
}
|
||||
|
||||
if (i++ === n) {
|
||||
bench.end(n);
|
||||
|
||||
connection.close();
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
cb();
|
||||
});
|
||||
|
||||
connection.execSql(request);
|
||||
})();
|
||||
});
|
||||
|
||||
const value = 'a'.repeat(size);
|
||||
request.addParameter('value', TYPES.NVarChar, value);
|
||||
connection.execSql(request);
|
||||
});
|
||||
|
||||
connection.execSqlBatch(request);
|
||||
});
|
||||
}
|
||||
50
node_modules/tedious/benchmarks/query/select-varbinary.js
generated
vendored
Normal file
50
node_modules/tedious/benchmarks/query/select-varbinary.js
generated
vendored
Normal file
@@ -0,0 +1,50 @@
|
||||
const { createBenchmark, createConnection } = require('../common');
|
||||
|
||||
const { Request, TYPES } = require('tedious');
|
||||
|
||||
const bench = createBenchmark(main, {
|
||||
n: [10, 100],
|
||||
size: [10, 100, 1000, 10000, 1024 * 1024, 10 * 1024 * 1024]
|
||||
});
|
||||
|
||||
function main({ n, size }) {
|
||||
createConnection(function(connection) {
|
||||
const request = new Request('CREATE TABLE #benchmark ([value] varbinary(max))', (err) => {
|
||||
if (err) {
|
||||
throw err;
|
||||
}
|
||||
|
||||
var request = new Request('INSERT INTO #benchmark ([value]) VALUES (@value)', (err) => {
|
||||
let i = 0;
|
||||
|
||||
bench.start();
|
||||
|
||||
(function cb() {
|
||||
const request = new Request('SELECT * FROM #benchmark', (err) => {
|
||||
if (err) {
|
||||
throw err;
|
||||
}
|
||||
|
||||
if (i++ === n) {
|
||||
bench.end(n);
|
||||
|
||||
connection.close();
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
cb();
|
||||
});
|
||||
|
||||
connection.execSql(request);
|
||||
})();
|
||||
});
|
||||
|
||||
const value = Buffer.alloc(size, 'a');
|
||||
request.addParameter('value', TYPES.VarBinary, value);
|
||||
connection.execSql(request);
|
||||
});
|
||||
|
||||
connection.execSqlBatch(request);
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user