Nice PHP/MySQL Rant

By Deane Barker on June 6, 2006

Why the light has gone out on LAMP: This guy eloquently tears up MySQL and PHP.

IMO, MySQL once filled a niche (cheap data store) that today is better filled by SQLite but has moved out of it into a area where it doesn’t compete nearly as well (that of an enterprise database) and no longer fits in either. If you need a dumb data store, use SQLite. If you need a FOSS database, use PostgreSQL. They cost the same as MySQL (free) and each does a better job of doing what it was designed for than MySQL.

I agree with this. MySQL is meant for simple data storage. SQLite is just as good for this, and Postgres is a much better database for more advanced stuff.

Also, because it’s so easy to whip out a quick PHP webapp, many, if not most, PHP programmers fail to delve very deep into the realm of programming, preferring to sit at the edge and reap the benefits without the work (I’m not talking about coding work, rather the work of understanding your field). PHP programmers practically popularized the most common attack in the world, the SQL-injection attack. Not only is it the most common, it’s the most easily avoided. That’s how shallow most PHP-programmer’s knowledge is.

Read my post about PHP and Camaros for my rebuttal to this.

His choice? Postgres and Python.

What This Links To


  1. how do you compare mysql with sqlite?

    Favorably, but they’re very different things. SQLite is file-based — there’s no process in the background. And SQLite has no users or security — if you have read access to the file, then you’re in. Finally, SQLite has no datatypes. Everything is text.

    If you just need a place to persist simple data, then SQLite is a great choice.

  2. Heh, A few years ago a friend of mine, of was an Oracle DBA, wanted a database for a small and relatively simple app. Not being familiar with other DBs, he took a quick look at the available products, and decided he needs comparisons between MySQL and PostgreSQL.

    He trid to find reviews in newsgroups and on the Internet. One was so amusing that I remember the highlight to this day. The guy writing it went to some length explaining what sort of things he wants a DB to do, and what other products are there, and said that he rigorously tested them all. But he didn’t provide any details or reasons. His conclusion was that MySQL is “by far the best”. In a sort of a FAQ there were some questions on stuff that MySQL may not be able to do, or how MySQL compared to this or that other products. And in all of them he basically just restated the same “MySQL is by far the best”. Apparently it being by far the best was the reason, not just the conclusion.

    Eventually my friend decided to go with PostgreSQL, for reasons like transaction support, and other issues that made him declare that “MySQL isn’t a real relational DB”. Even though by this point we all kept saying that MySQL was obviously by far the best…

  3. I’m surprised anyone who does web development for aliving would choose Python and PostgreSQL. That seems like a couple of bad choices combined. I’m trying to think of what I would use to make a multipress JIT ordering system to handle $200k in orders, a day. LAMP is the fastest development, easiest maintenance (which includes being able to immediately hire OTHER people to maintain it), and scales appropriately. If I want to create a client for a game, pygame is quite handy…but debugging python scripts is cumbersome at best.

    It’s no surprise that people advocate tools for work they dont actually do. LAMP is popular because it’s a good tool for most real-world problems. Python and PostgreSQL is not a good combination because it’s hard to maintain and is overly complex for those same problems. It’s not enough to say that a database has more features or a language has better semantics, when 90% of your grunt programmers aren’t using those features or aren’t capable of utilizing the semantics.

  4. Then there is always the reason why alot of us use LAMP; it comes with our web hosting. Adding to that, only recently has my host provided PostgreSQL and I don’t even know if Python is supported.

    Also using the same logic used above, Ruby on Rails must be the worst language since I once watched a video in which an entire blogging tool was created in under 30mins. And while we’re at it let’s trash ColdFusion for having such a quick developement cycle. How dare Allaire… Adobe create such an easy language.


    Use what works best for you out of the choices available to you and drop the holy wars.

  5. Agreed with Mark. Hardware and software is gathering speed but humanware is at the same speed after centuries. Leaving the grunt work to computers is the only way ahead for us to improve development cycles. If we were still coding in assembly where would we be now?

Comments are closed. If you have something you really want to say, tweet @gadgetopia.