1,972 reputation
1614
bio website karwin.com
location California
age 46
visits member for 2 years, 8 months
seen 15 hours ago

I'm Senior Knowledge Manager at Percona, a services company specializing in the MySQL database.

I've been a software engineer since 1987, and my specialty is as an SQL maven. I also have experience programming in Java, PHP, Perl, C, JavaScript, and I have many other coding skills.

I've written a book, SQL Antipatterns: Avoiding the Pitfalls of Database Programming from Pragmatic Bookshelf, based on the most common SQL problems I've answered on Stack Overflow and other forums, mailing lists, and newsgroups over the past 15 years.


Mar
24
revised Does a MyISAM table locks if I copy it while MySQL is running? (READ DISCLAIMER)
added 921 characters in body
Mar
24
revised Does a MyISAM table locks if I copy it while MySQL is running? (READ DISCLAIMER)
added 921 characters in body
Mar
24
answered Does a MyISAM table locks if I copy it while MySQL is running? (READ DISCLAIMER)
Mar
24
revised MySQL 5.1: Upgrade innodb plugin
added 1399 characters in body
Mar
24
comment MySQL 5.1: Upgrade innodb plugin
mysql_upgrade doesn't upgrade the plugin. It just checks tables for compatibility with the new version, and adds new system tables or columns as needed in the mysql database.
Mar
23
answered MySQL 5.1: Upgrade innodb plugin
Mar
20
answered Vacuum in postgresql and Purge in mysql
Mar
14
comment what mistake i did in mysql query
Tilde is ~. The identifier delimiter is `, which we often call back-tick or back-quote. It's on the same key as the tilde (on a US keyboard), but without using SHIFT.
Mar
12
comment Dynamically change schema to accommodate custom fields!
Yes, the best implementation for custom schema extensions that I remember seeing is in Bugzilla, the old Perl bug-tracking app. You can add columns, and also add code in a separate directory to work with those columns.
Mar
12
answered Dynamically change schema to accommodate custom fields!
Mar
12
answered How to include Innodb_trx_id in MySQL slow log
Mar
10
revised Percona Xtrabackup on Suse EL 10 — Failing
added 170 characters in body
Mar
10
answered Percona Xtrabackup on Suse EL 10 — Failing
Mar
10
comment Understanding MySQL's 'explain'
@MichałHerman, the type: index in your EXPLAIN describes how it's accessing the dd.data table. The primary key lookups (type: eq_ref) are on the tag tables. In a join, each table may respectively be accessed using a different join type.
Mar
10
comment How are auto_increment keys handled in INSERT (SELECT * FROM…)
Yes, SQL_MODE=NO_AUTO_VALUE_ON_ZERO, otherwise we could never insert a literal zero value into an AI column. If you use this SQL mode, NULL still works to activate the AI generator, or omitting the column works too.
Mar
9
answered How are auto_increment keys handled in INSERT (SELECT * FROM…)
Mar
9
answered Understanding MySQL's 'explain'
Mar
9
answered what effect does changing the data type of an existing indexed field have on the index?
Mar
5
comment New field based on sum field
You can keep nesting derived tables if you need to.
Mar
5
answered New field based on sum field