123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 |
- /**
- * DatabaseQueryController
- *
- * @description :: Server-side logic for managing Database Queries
- */
- var Sequelize = require('sequelize')
- var sequelize = new Sequelize(
- 'hello_world', 'benchmarkdbuser', 'benchmarkdbpass',
- {
- host: '127.0.0.1',
- dialect: 'mysql',
- pool: {
- max: 5000,
- min: 0,
- idle: 5000
- },
- logging: true
- });
- var World = sequelize.define('World', {
- id: Sequelize.INTEGER,
- randomNumber: Sequelize.INTEGER
- },
- {
- // prevents sequelize from assuming the table is called 'Worlds'
- freezeTableName: true,
- timestamps: false,
- })
- var randomTFBnumber = function() {
- return Math.floor(Math.random() * 10000) + 1;
- }
- var worldQuery = function(callback) {
- World.findOne({
- where: { id: randomTFBnumber() }
- }).complete(callback);
- }
- var worldUpdate = function(callback) {
- World.update({
- randomNumber: randomTFBnumber()
- },
- {
- where: {
- id: randomTFBnumber()
- }
- }
- ).complete(callback);
- }
- module.exports = {
- /**
- * Test 2: Single Database Query
- */
- single: function (req, res) {
- World.findOne({
- where: { id: randomTFBnumber() }
- }).then(function(results) {
- return res.json(results.get());
- })
- },
- /**
- * Test 3: Multiple Database Query
- */
- multiple: function (req, res) {
- var queries = req.param('queries');
- var worlds = [];
- queries = Math.min(Math.max(queries, 1), 500) || 1;
- for (var i = 0; i < queries; i++) {
- worlds.push(worldQuery)
- }
- async.parallel(worlds, function(err, results) {
- res.json(results);
- });
- },
- updates: function(req, res) {
- var queries = req.param('queries');
- var worlds = [];
- queries = Math.min(Math.max(queries, 1), 500) || 1;
- for (var i = 0; i < queries; i++) {
- worlds.push(worldQuery);
- }
- async.parallel(worlds, function(err, results) {
- res.json(results);
- });
- }
-
- };
|