The test inserted 200k rows with autocommit enabled which made it very slow. Wrapping the inserts inside a transaction gives the test a significant speed boost.
		
			
				
	
	
		
			44 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			44 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
/**
 | 
						|
 * @file lots_of_row.cpp INSERT extremelly big number of rows
 | 
						|
 * - do INSERT of 100 rows in the loop 2000 times
 | 
						|
 * - do SELECT *
 | 
						|
 */
 | 
						|
 | 
						|
 | 
						|
#include <iostream>
 | 
						|
#include "testconnections.h"
 | 
						|
#include "sql_t1.h"
 | 
						|
 | 
						|
int main(int argc, char *argv[])
 | 
						|
{
 | 
						|
    TestConnections * Test = new TestConnections(argc, argv);
 | 
						|
    char sql[10240];
 | 
						|
 | 
						|
    Test->connect_maxscale();
 | 
						|
    create_t1(Test->conn_rwsplit);
 | 
						|
 | 
						|
    Test->tprintf("INSERTing data");
 | 
						|
 | 
						|
    Test->try_query(Test->conn_rwsplit, "BEGIN");
 | 
						|
    for (int i = 0; i < 2000; i++)
 | 
						|
    {
 | 
						|
        Test->set_timeout(20);
 | 
						|
        create_insert_string(sql, 100, i);
 | 
						|
        Test->try_query(Test->conn_rwsplit, sql);
 | 
						|
    }
 | 
						|
    Test->try_query(Test->conn_rwsplit, "COMMIT");
 | 
						|
 | 
						|
    Test->tprintf("done, syncing slaves");
 | 
						|
    Test->stop_timeout();
 | 
						|
    Test->repl->sync_slaves();
 | 
						|
    Test->tprintf("Trying SELECT");
 | 
						|
    Test->set_timeout(60);
 | 
						|
    Test->try_query(Test->conn_rwsplit, (char *) "SELECT * FROM t1");
 | 
						|
 | 
						|
    Test->check_maxscale_alive();
 | 
						|
    int rval = Test->global_result;
 | 
						|
    delete Test;
 | 
						|
    return rval;
 | 
						|
}
 | 
						|
 |