Kris Krause .NET Meister

"If it is fast and ugly, they will use it and curse you; if it is slow, they will not use it."
- David Cheriton, The Art of Computer Systems Performance Analysis

Thursday, August 06, 2009

.NET mySql PerformanceMonitor Class

The 6.x mySql Connector for .NET comes with two performance counters that seem to be working rather well. If I call the same stored procedure 1,000 times... the metadata is only retrieved from the server the first time. All subsequent calls utilize the client-side cache. You can see this using the Performance Monitor graph in Control Panel -> Administrative Tools -> Performance.

Also, you have set the following parameter in your connection string:

Use Performance Monitor=true;

HardProcedureQueries - The number of times a procedures metadata had to be queried from the server.

SoftProcedureQueries - The number of times a procedures metadata was retrieved from the client-side cache.

Labels: ,

Monday, June 22, 2009

Example mySql IsDate Function

Here is an example mySql IsDate function using a regular expression:

CREATE DEFINER=`root`@`localhost` FUNCTION `IsDate`(var varchar(25)) RETURNS tinyint(4)
DETERMINISTIC
BEGIN
/* 05/17/2009, 5/01/2009, 5/1/2009 */

declare result tinyint;

select  trim(var)

REGEXP '^([1-9]|0[1-9]|1[012])/([1-9]|0[1-9]|[12][0-9]|3[01])/(19|20)[0-9][0-9]'

into @result;

return @result;
END

Labels:

Wednesday, April 08, 2009

MySql Connector .NET MySqlBulkLoader Example

Here is a MySqlBulkLoader example I quickly wrote to import 65,000 records into a mySql 5.1 database using the mySql Connector 5.2.5. And yes, its fast as snot (the lead programmer at my first programming job out of college invented the term).

.NET Reflector helped me figure out the follow details:

- the default FieldTerminator is "\t"
- the default LineTerminator is "\n"
- the default FieldQuotationCharacter is '\0'
- the .Load() method both opens and closes the connection

Also, the mySql documentation obviously helped to explain a lot including the "\r\n" Win32 line terminator in my example (I used Excel to export the CSV). The database user in this example needs "insert" permission.

Download the VB.NET, Sql, and CSV files here.

Labels: ,

Thursday, October 02, 2008

Using Microsoft ADO.NET Entity Framework with MySQL

Unfortunately, this week's Using Microsoft ADO.NET Entity Framework with MySQL Webinar is being postponed to Tuesday November 4, 2008. Myself and many others are looking forward to some (if not all) entity framework support. It seems that I check the mySQL dev forum daily for updates.

The myDirect.NET product offers support for the ADO.NET Entity Framework with a commercial license fee.

Labels: ,

Tuesday, June 03, 2008

mySql ASP.NET Membership and Role Provider

The mySql.Web.dll is a great addition to the mySql Connector for .NET. In order to utilize one must create (and use) a mySql user (localhost) with select, insert, update, delete, create, drop, and alter privileges.

Quickly running ASP.NET Configuration Web Site Administration Tool helps to set up and initialize all of the tables.

Labels: ,