// Please provide root password in environment variable MYSQL_PASSWORD var objShell = WScript.CreateObject("WScript.Shell"); var strRootPassword = objShell.ExpandEnvironmentStrings("%MYSQL_PASSWORD%"); var intLoops = 1000; // First loop with driver MySQL ODBC 5.1.8 (fast) - caution, don't use any other version (5.1.9+), they're slower var objStart1 = new Date(); for (var n = 1; n <= intLoops ; n++) { var objODBCConnection = WScript.CreateObject("ADODB.Connection"); objODBCConnection.Open("Driver={MySQL ODBC 5.1 Driver};Server=localhost;Database=mysql;UID=root;Password="+strRootPassword+";"); objODBCConnection.Close(); objODBCConnection = null; delete objODBCConnection; } var objEnd1 = new Date(); var objDuration1 = objEnd1-objStart1; WScript.Echo("Performance ODBC 5.1.8 : " + intLoops.toString(10) + "xOpen/Close in : " + objDuration1.toString(10) + " ms"); WScript.Echo(""); // Second loop with driver MySQL ODBC ANSI 5.3 (slow - just like ANY driver after 5.1.8) var objStart2 = new Date(); for (var n = 1; n <= intLoops ; n++) { var objODBCConnection = WScript.CreateObject("ADODB.Connection"); objODBCConnection.Open("Driver={MySQL ODBC 5.3 ANSI Driver};Server=localhost;Database=mysql;UID=root;Password="+strRootPassword+";"); objODBCConnection.Close(); objODBCConnection = null; delete objODBCConnection; } var objEnd2 = new Date(); var objDuration2 = objEnd2 - objStart2; WScript.Echo("Performance ODBC 5.3 ANSI : " + intLoops.toString(10) + "xOpen/Close in : " + objDuration2.toString(10) + " ms"); // Compare performance 5.1.8 to 5.3 ANSI WScript.Echo(" * MySQL ODBC 5.3 ANSI is " + (objDuration2 / objDuration1).toString(10) + " times slower than MySQL ODBC 5.1.8 !"); // Third loop with driver MySQL ODBC UNICODE 5.3 (slow - just like ANY driver after 5.1.8) var objStart3 = new Date(); for (var n = 1; n <= intLoops ; n++) { var objODBCConnection = WScript.CreateObject("ADODB.Connection"); objODBCConnection.Open("Driver={MySQL ODBC 5.3 Unicode Driver};Server=localhost;Database=mysql;UID=root;Password=" + strRootPassword + ";"); objODBCConnection.Close(); objODBCConnection = null; delete objODBCConnection; } var objEnd3 = new Date(); var objDuration3 = objEnd3 - objStart3; WScript.Echo("Performance ODBC 5.3 Unicode : " + intLoops.toString(10) + "xOpen/Close in : " + objDuration3.toString(10) + " ms"); // Compare performance 5.1.8 to 5.3 WScript.Echo(" * MySQL ODBC 5.3 Unicode is " + (objDuration3 / objDuration1).toString(10) + " times slower than MySQL ODBC 5.1.8 !"); WScript.Echo(""); // 4th loop with driver MySQL ODBC ANSI 8.0 var objStart4 = new Date(); for (var n = 1; n <= intLoops; n++) { var objODBCConnection = WScript.CreateObject("ADODB.Connection"); objODBCConnection.Open("Driver={MySQL ODBC 8.0 ANSI Driver};Server=localhost;Database=mysql;UID=root;Password=" + strRootPassword + ";"); objODBCConnection.Close(); objODBCConnection = null; delete objODBCConnection; } var objEnd4 = new Date(); var objDuration4 = objEnd4 - objStart4; WScript.Echo("Performance ODBC ANSI 8.0 : " + intLoops.toString(10) + "xOpen/Close in : " + objDuration4.toString(10) + " ms"); // Compare performance 5.1.8 to 5.3 ANSI WScript.Echo(" * MySQL ODBC 8.0 ANSI is " + (objDuration4 / objDuration1).toString(10) + " times slower than MySQL ODBC 5.1.8 !"); // 5th loop with driver MySQL ODBC UNICODE 8.0 var objStart3 = new Date(); for (var n = 1; n <= intLoops; n++) { var objODBCConnection = WScript.CreateObject("ADODB.Connection"); objODBCConnection.Open("Driver={MySQL ODBC 8.0 Unicode Driver};Server=localhost;Database=mysql;UID=root;Password=" + strRootPassword + ";"); objODBCConnection.Close(); objODBCConnection = null; delete objODBCConnection; } var objEnd3 = new Date(); var objDuration3 = objEnd3 - objStart3; WScript.Echo("Performance ODBC 8.0 Unicode : " + intLoops.toString(10) + "xOpen/Close in : " + objDuration3.toString(10) + " ms"); // Compare performance 5.1.8 to 5.3 WScript.Echo(" * MySQL ODBC 8.0 Unicode is " + (objDuration3 / objDuration1).toString(10) + " times slower than MySQL ODBC 5.1.8 !"); WScript.Echo(""); // 6th loop with MariaDB ODBC 3.0 Driver - slower but maybe good enough (1.25 times slower) var objStart6 = new Date(); for (var n = 1; n <= intLoops ; n++) { var objODBCConnection = WScript.CreateObject("ADODB.Connection"); objODBCConnection.Open("Driver={MariaDB ODBC 3.0 Driver};Server=localhost;Database=mysql;UID=root;Password=" + strRootPassword + ";"); objODBCConnection.Close(); objODBCConnection = null; delete objODBCConnection; } var objEnd6 = new Date(); var objDuration6 = objEnd6-objStart6; WScript.Echo("Performance MariaDB ODBC 3.0: " + intLoops.toString(10) + "xOpen/Close in : " + objDuration6.toString(10) + " ms"); // Compare performance MySQL ODBC 5.1.8 to MariaDB 3.0 WScript.Echo(" * MariaDB 3.0 is " + (objDuration6 / objDuration1).toString(10) + " times slower than MySQL ODBC 5.1.8 !");