&& testing performace of LibMySql mysql_init(..) lnCon = mysql_real_connect(..) LOCAL lcSomeVar1, lcSomeVar2 lcSomeVar1 = 'teststring' lcSomeVar2 = 35 lnStart = SECONDS() FOR xj = 1 TO 5000 && mysql_query just takes string so we have to build UPDATE command && by concating the various parts with correct char delimiters, && conversion from numeric to character etc.. lcLibSql = "UPDATE someTable SET someCharField = '" + lcSomeVar1 + ; "', SET someNumeric = " + ALLTRIM(STR(lcSomeVar2)) + " WHERE someCondition" mysql_query(..,lcLibSql) ENDFOR ? SECONDS() - lnStart && building Update commands like this can be much work if there many fields && in the table(s), you also have to escape special characters like && backslash, tab and so ; lcSomeVar1 = STRTRAN(lcSomeVar1,CHR(9),'\t') && testing ODBC lnCon = SQLCONNECT(..) && or SQLSTRINGCONNECT() lnStart = SECONDS() && with ODBC we can use parameter markers (very comfortable) && and no manual data conversion is necessary lcOdbcSql = "UPDATE someTable SET someCharField = ?lcSomeVar1, SET someNumeric = ?lcSomeVar2 WHERE somecondition" ?SQLPREPARE(lnCon,lcOdbcSql) FOR xj = 1 TO 5000 SQLEXEC(lnCon) ENDFOR ?SECONDS()-lnStartyou should use data and table structures that are likely to be used in the application instead of my basic example of course ...