I brought 31 queries down to 3 for a certain page in my application by using a single join (provided by Django's ORM). Up until that very moment I thought of SQL optimization as something I didn't need to worry about. I instantly realized that there are probably so many areas that run slow which could use some SQL tomFOOlery (SQL FOO is for professionals).
Now I'm looking for a pi开发者_StackOverflowece of open source software that will allow me to quickly create databases, and tables with a GUI, so I can quickly add data and experiment with queries. Is Access good for this (aside from not being free or open source)? Or, does Access use it's own SQL syntax?
Oracle XE is free. MySQL is free. For MySQL i use MySQL Workbench which is pretty nice.
If you want to practise SQL, I guess any database/tool would do. But learning how to optimize for one database doesn't translate into knowing how to optimize for another. I'd say go with the database you are currently working with.
There is a Firefox add-on for SQLite Database. This is a very small add-on and once done, it allows you to create database, the tables and the data visually. Pretty simple one at that.
SQL Server is an obvious choice for Windows. You can download Express Edition for free but if you want a development tool then the Developer Edition is much better value. Developer Edition typically costs around $50 - much cheaper than Access.
SQuirreL SQL is a nice and free software that supports many databases.
I'm not sure if you can create tables visually, but from my experience, it's faster to just write the DDL and then execute it since it's a one time job.
As for data generation, I've found http://www.generatedata.com/ to be a nice online site where you can generate dummy data.
No one mentioned SQLExpress. You can use SQL management studio, and it's free. Good enough for practicing. You can create databases visually and write stored procedures etc. It also integrates with Visual Studio express.
精彩评论