Postcards From My Life

Lint I find in my mind's belly-button.
  • EPK
  • Consulting
  • Resume
  • Nerd Herding
  • Talks
  • CWJ 09
« Entreprenurial Update
XAMPP, PHP 5.3, PEAR, and PHAR (what a mess) »

MySQL Workbench – A Superficial Review

Dear Reader,

MySQL Workbench Splash screen
Those of you who know me, know I am an old school database guy. One of the things I miss from my pre-web programming days is sitting down with an Entity-Relationship Diagramming tool and painting a picture of the database I want for my application. Since moving to MySQL as my primary database, I’ve tried out several ERDs. I’ve loved at least one, hated most others for either lack of features or price tag – or both – or been generally just unimpressed. Recently I got an email from MySQL saying the latest version of their ERD tool had been released. Honestly, it had been a while since I had taken a look at it so I thought maybe I’d give it a go. Below is what I consider a very superficial review of this tool and a couple of conclusions, both good and bad.

The Test

I’m running this on my development machine. A Dell Latitude E6400 with a 2.53GHz processor and 3.45 GB of RAM. Currently I have 18 programs open including email, browsers, audio editing and my IDE. This is about normal for me. I didn’t stack the deck for or against Workbench, I was shooting for real world.

The test database if for a sample application I’m building, a ToDo list; three tables and a single view. Not terribly exciting but shows off some most of the standard features of the product.

The Good

MySQL Workbench, main screenIf you have ever used an ERD tool before, you will be right at home with MySQL Workbench. it’s got all of the features you expect and the overall quality of the program is good. As you can see from this opening screen, you have the options for buildings multiple diagrams for a given model, easy access to the complete tables, routines, users, roles, etc. Honestly, I don’t spend much time on the Model screen since I’m usually working on the diagram itself. The exception to this was when I was adding a user and a role to my system. You can see it in the lower part of the picture if you click on it. Adding a user was a bit confusing at first until I realized that you have to add a role first. Also, I discovered that it’s a bad idea to add a user AND a role named user, it just confusing. :)

Main diagram screenThe main diagram screen is the canvas you paint your database on. You can see in this picture, I have 3 tables and a view (the yellow thing in the upper right corner of the main canvas) The program uses standard graphics, conventions and notations for diagramming databases. Adding and editing tables works just like you would expect. Click the new table icon, drag it onto the main canvas and drop it. Adding a relationship seemed a bit backwards to me because you click on the child first and then the parent. even so, once you get around this small confusion, the program correctly build the relationship. One really nice touch is that when you mouse over the line for a relationship, it highlights the line and the related fiends with a pastel glow. That makes finding the related fields easy in larger tables.

MySQL Workbench with property edit tab displaying. Unlike other programs of this type that I have used, editing of the properties of an object is not done in a popup window but in a pane at the bottom of the screen. Shown here, the edit pane gives you a tabbed interface across the bottom to edit the different properties of the highlighted object. Tabs across the top of the properties pane give you access to multiple objects that you have clicked on. it’s a bit of a different paradigm but one that, once you get used to, works out pretty well. The only real issue I had was that any context switching seemed a bit slow. If I double click on any given table, if the edit pane was not visible, it could take three to five seconds for it to appear. if it did exist, it could take another three to five seconds to populate it with the properties of the selected object. That aside though, it worked just fine.

MySQL Workbench showing edit pane and the code from a view.One thing I really liked was the view edit screen. Adding a view to the canvas brought up the edit pane and allowed you to type in the SQL to build the view. In the upper right corner of the vide edit pane is a small button showing you whether the code, as currently typed, is valid. it’s a nice touch to make sure you have all your commas in the right place.

As I found out, it doesn’t actually validate the code, it just tells you if it’s syntactically valid. I’m sure validating the code itself would have been much more difficult but it would be a very nice feature for building views. Also, graphically, it would be nice if the view object on the canvas listed the fields from the query. Since the program is obviously parsing the create view, it should easily be able to pull out the file list.

MySQL Workbench Forward Engineer Wizard, screen 4 of 6.Of course, painting the picture of a database is no good unless you can use it to actually maintain the database. MySQL Workbench does a good job of that. Since this is a superficial review, I’ll only deal with Forward Engineering but it does Reverse Engineering as well as syncing an existing model to the database server.

What you see to the left is the fourth screen in the six screen forward Engineer wizard. This screen shows me the SQL DDL necessary to create my database and give me 3 options. I can copy it to the clipboard to paste into my database too like SQLYog (another awesome database tool), I can save it to a file and use the MySQL cli to create the database or I can continue on – assuming I’ve setup a database connection for the program – and allow MySQL Workbench to create the database for me. Creating the database connection is trivial so I did that and allowed it to create the database. The good news is when it works correctly, it is beautiful. The bad news is, if you have messed up one of your views, or you don’t have the proper rights to create users, you just going to get errors. That gets frustrating.

Obviously, I had errors or I wouldn’t have mentioned it to you. However, once I resolved the errors, everything worked exactly like you would expect it to.

The Bad

First, this program is slow. I mean seriously slow. Like it was written in Java and the cross compiled into Visual Basic slow. Even when I boot my machine fresh, bring up only MySQL Workbench and work with my sample database, it is not snappy. Three to five seconds might not sound like a lot of time to bring up the edit pane but if you’ve got a large model and are constantly switching around editing different things, it will take years off of your life. Maybe it’s better under Linux or OSX , I didn’t test those but Windows XP it’s like sucking molasses through a straw.

Second, when a program tells me it has validated my SQL DDL, I expect that means that it’s correct. If I’ve misspelled a field name in my view script, I expect it to catch that and tell me my script is invalid. Maybe it can’t do this during a live edit but before you can forward engineer a database you have to click on “Validate” on the first page of the wizard so that it can validate your entire model. At that point, some extra checks to keep me from shooting myself in the foot. Again, on a small model, this is not a huge issue, however, on large models that take serious time to forward engineer, it could seriously impact your FreeCell game.

Conclusion

Is MySQL Workbench perfect? No, but it is good enough. The Community Edition (what I tested) gives you all the features you will need. I’m not sure what other advanced features that the non-free version has (if there is still a non-free version) but I couldn’t find anything that I need that it wouldn’t do out of the box.

This version is much more stable than previous versions and everything I needed it to do, it eventually did. I am very pleased with this project, especially for free. It’s now one of my standard development tools.

I recommend this tool to anyone doing serious database work with MySQL.

Until next time,
(l)(k)(bunny)
=C=

 

 

Related posts

  • Win free SQLYog! (3)
  • SQLYog – A superficial review (7)
  • Good Boss…Bad Boss (2)

Tags: ED, entity relationship diagraming, MySQL, review, software development

This entry was posted on Sunday, July 5th, 2009 at 9:47 am and is filed under SQL. You can follow any responses to this entry through the RSS 2.0 feed.Both comments and pings are currently closed.

11 Responses to “MySQL Workbench – A Superficial Review”

  1. Harro Says:
    July 5th, 2009 at 2:22 pm

    Any tips on one that is good?

  2. Cal Evans Says:
    July 6th, 2009 at 12:30 am

    @Harro,

    Currently, as far as i can tell, this is best of breed if you are working with MySQL. Granted, I’ve not tested them all out yet. I have used at least one high-end (multi-thosand dollar) package that supported MySQL and it wasn’t as good as this.

    So until something better comes along, I’ll probably stick with MySQL Workbench.

    Thanks for the comment,
    =C=

  3. Digital Media Minute Says:
    July 6th, 2009 at 2:40 am

    MySQL ERD…

    A self-proclaimed ‘old school database guy’, Cal Evans gives us an honest and pretty thorough review of the latest version of MySQL Workbench–worth your time if you’re not happy with the MySQL ERD tool you use now, or even if yo…

  4. Kevin Says:
    July 6th, 2009 at 1:22 pm

    What’s sad is MySQL bought DBDesigner then proceeded to kill it and resurrect it as this monstrosity, taking years to implement it, to boot. I really enjoyed using DBDesigner even though it had some bugs and quirks. You can still find a download of it, but it doesn’t really support the newer features of MySQL.

    I’m an “old school” database guy, though I do love my ERD. My ERD of choice would be ERwin, purely for usabilty. The people who wrote Workbench appear to have not used anything remote like ERwin or the other big boys. If you’ve used ERwin before (i.e. someone else ponied up the cash), you’ll know what I’m talking about. Though, similarly, CA bought ERwin and, while not having completely F’d it up, it doesn’t seem quite as nice as the pre-CA versions. Until recently, they didn’t support MySQL, but if all you use is MySQL, it’s not cost effective.

    Oh, and last time (a few months ago) I checked, the OS X version of Workbench was pretty much unusable.

    Sadly, there’s not much else out there that’s remotely free that I have found useful or reliable.

    Kevin

  5. Justin Says:
    July 6th, 2009 at 3:48 pm

    I’ve been pleased with MySQL Workbench, even on a PC. However, on a Mac, it is AWESOME. It is many times faster than on an equivalent (and even newer PC). No matter how big the schema, it doesn’t bog down on the Mac. Unfortunately, on a PC, the bigger the schema, the slower it gets.

  6. Cal Evans Says:
    July 7th, 2009 at 12:29 am

    @Kevin,

    I LOVED DBDesigner! It was quirky and buggy but it got the job done. I was very sad when they bought it and killed it.

    I haven’t used ERWin in many years (Like ‘86) but yes, back then it was the gold standard. However, I don’t believe that a tool for MySQL needs all the features ERWin had. I also used Embarcadero’s product for a while. Another very pricey tool targeted at large companies that are using big databases. I would be happy for something with the feature set of Workbench that wasn’t slow.

    @Justin,

    Thanks for the comment. I wish they would figure out how to make it fast for Windows as well.

    Thanks to both of you for the comments,
    =C=

  7. Harro Says:
    July 9th, 2009 at 1:10 am

    Hmm tried it and I didn’t understand it at all..

    I feel dumb :P

  8. Cal Evans Says:
    July 9th, 2009 at 1:21 am

    @Harro,

    Don’t feel dumb. ERDs take time to get used to. My first several models were a mess. However, I have a tenancy to think in them now. The second step for me in any project is to paint the ERD. Then I can begin to see how things flow together. (The first step, is of course, to get a clear definition of the project from the client.)

    =C=

  9. SQLYog – A superficial review – techPortal Says:
    July 28th, 2009 at 4:42 am

    [...] my recent superficial review of MySQL Workbench and knowing that I like SQLyog, my buddies over at webyog pinged me and asked if I would be [...]

  10. A Review of the MySQL management tool SQLYog | Postcards From My Life Says:
    July 29th, 2009 at 7:50 am

    [...] my recent superficial review of MySQL Workbench and knowing that I like SQLyog, my buddies over at webyog pinged me and asked if I would be [...]

  11. MySQL Workbench Says:
    August 2nd, 2009 at 11:31 pm

    Hi Kevin,

    Mike Zinner created DBDesigner, and is the leader of the MySQL Tools Team. And, the creator of MySQL Workbench.

    WB 5.1, current GA, is written in C++, and is available on MacOS, Linux, Windows.

    WB 5.1 was a replacement for DBDesigner.
    WB 5.2 will replace MySQL Query Browser and MySQL Administrator.

    Please let MikeZ know if you have specific feedback:
    http://forums.mysql.com/index.php?151

    - MySQL Workbench

  • Team Based PHP Training

  • Sponsors and Ads

  • Conferences I’m Attending

  • About Me

    cal_evansThis is my blog. Sometimes it's my deep thoughts, sometimes it's a journal of things I've learned. Every now and then it's my box of shattered dreams. Most of the time though, it's just the place I like to write. Sit with me as I show you some postcards from my life. While you are here, do me a favor and leave a comment.

    If you are looking for my contact information, bio, picture, ASL, check out my EPK.

    My name is Cal Evans and this is my blog.



    Follow me on FriendFeed!

    View Cal Evans's profile on LinkedIn

  • My First Book

  • Support PHPWomen


    US Shop | European Shop

  • What I'm Doing...

    • @farrelley nope, should go live next Tuesday, subscribe in Itunes http://bit.ly/bf9vmN or the feed http://bit.ly/9nFI6A in reply to farrelley 35 mins ago
    • awesome time w/@Elazar and @brandonsavage recording #oddWeek #5 (at least I hope it's #5 if not I've got some editing to do) 41 mins ago
    • thanks for all who expressed interest in reviewing my Speaker Tips. I've got a full editorial board now. 4 hrs ago
    • More updates...

  • Tags

    API article Cal Evans codeworks conference contest cw09 developers devzone elizabeth naramore Exim flex fun IBuildings iPod jobs Kathy Evans linkedin Management Marketing microsoft MySQL Nashville phar photography PHP phparchitect php developers podcampnashville podcast podcasting poem Programming Quickies respect Silly-Con Valley sixty second tech software development terry chay twitter upgrade video wordpress zend zend framework

  • RSS PHP Podcasts

    • oddWeek Episode #4
    • Creating Custom Zend_Form Decorators
    • Habits of Highly Scalable Web Applications
    • PHPSPCast #6 – Ao vivo da Campus Party (Q&A)
    • php|architect Podcast: oddWeek #002
    • Podcast #2010-02: Stalker Edition
    • php|architect podcast: oddWeek #003
    • php|architect Podcast: oddWeek #001
    • php|architect Podcast: 2009 in Revue
    • php|architect Podcast: Bake’n’Shake

  • XBox Gamer Card

  • Me

    • Best web design company
    • Cal Evans Dot Com
    • Cyrano’s Apprentice
    • Evans Internet Construction Company
    • My Life as a Child
    • PHP Podcasts
    • Sixty Second Tech

  • RSS My Blog at php|arch

    • An error has occurred; the feed is probably down. Try again later.

  • Flickr Recent Photos

    Blue Parabola Southern Office-Rear Annex is closed for snowSnow Heart@dzuelke getting ready to give his talk@fabpot talking about Dependancy Injection@derickr giving the opening keynotePeople meeting other peoplePHP Benelux Goody Bag ContentsCheck InDSCN2280The main room

  • Categories

    • Apache
    • BlogBling
    • Blogging
    • codeworks
    • Entertainment
    • Entrepreneurship
    • Flex
    • Humor
    • JavaScript
    • Long Form
    • Management
    • Marketing
    • Me
    • PHP
    • podcasting
    • Programming
    • SQL
    • Technology
    • Web 2.0
    • wordpress
    • WordPress Plugins
    • writing
    • zend framework

  • Meta

    • Log in
    • Entries RSS
    • Comments RSS
    • WordPress.org


Postcards From My Life is proudly powered by WordPress
Entries (RSS) and Comments (RSS).