Category: mysql

  • The Case Against The Case Against Auto Increment in MySQL

    In the Pythian blog today, John Schulz writes The Case Against Auto Increment In MySQL, but his blog contains some misunderstandings about MySQL, and makes some bad conclusions. The Concerns are Based on Bad Assumptions In his blog, Schulz describes several concerns about using auto-increment primary keys. Primary Key Access “…when access is made by […]

  • Webinar on PHP and MySQL Replication

    Using MySQL replication gives you an opportunity to scale out read queries. However, MySQL replication is asynchronous; the slave may fall behind. This Wednesday, January 23 2013, I’ll be presenting a free webinar about using MySQL replication on busy PHP web sites.  Register here: Applications have variable tolerance for data being out of sync […]

  • Sql Injection Slides Posted

    I gave a presentation today at the MySQL Conference & Expo 2010, titled SQL Injection Myths and Fallacies. Thanks to everyone who came to my talk! I appreciate your interest in learning to develop more secure applications. SQL Injection is a serious threat to web applications, and it’s only going to get worse. It’s incumbent […]

  • Rendering Trees with Closure Tables

    I got a comment from a reader about the Naive Trees section of my presentation SQL Antipatterns Strike Back. I’ve given this presentation at the MySQL Conference & Expo in the past. I’d also like to mention that I’ve developed these ideas into a new book, SQL Antipatterns: Avoiding the Pitfalls of Database Programming. The […]

  • Speaking on SQL Injection at MySQL Conference

    Speaking on SQL Injection at MySQL Conference

    I’m speaking this year at the MySQL Conference & Expo 2010 in Santa Clara. Be sure to get your early registration discount by Feb 22! If you miss that deadline, get 25% off with this discount code: mys10fsp I’m presenting a talk on SQL Injection Myths and Fallacies. This may seem like a topic that’s […]

  • What is QEP?

    In the context of database programming, QEP is an acronym for Query Execution Plan. The database server analyzes every SQL query and plans how to use indexes and order tables to produce the result in the most efficient way. You can get a report of the QEP for a SELECT query using the EXPLAIN command […]

  • Free Software vs. Gratis Software

    A lot of folks are unclear on the subtleties of free software and open source. Mike Hogan writes a blog article”Is Hybrid Licensing of OSS Hypocrisy?” to try to shed some light on this. With respect, I think he has missed part of it. We’re talking about two orthogonal things here. One is open-source versus […]

  • I’m Speaking on SQL at OSCON

    I’m Speaking on SQL at OSCON

    Early Registration has been extended to June 23. Save up to $250! Enter my friends-of-speaker discount code “os09fos” when you register, and save an additional 20%! Just because you read my blog. Practical Object-Oriented Models in SQL Wednesday July 22, 5:20pm. SQL is from Mars, Objects are from Venus. This talk is for software developers […]


    Photo by Mike Gogulski, used in accordance with the Creative Commons BY-SA 3.0 license The photo above illustrates (by counter-example) an important characteristic of a normalized database: each logical “type” of attribute belongs in a separate column. Just because three values happen to be numeric doesn’t mean it makes sense to SUM() them together. But if […]

  • SQL Antipatterns Strike Back! Slides

    I presented my tutorial at the MySQL Conference & Expo today. I have fun preparing it and presenting it, and I got many good questions and comments from the audience. Thanks to everyone for coming and participating! I have uploaded my slides with a Creative Common 3.0 license to my SlideShare account: For those […]