


what Oracle has available (albeit i would prefer to use MariaDB/PostgreSQL in most cases) is really good and should be standard functionality for any good DBMS. Thus i maintain that any solution that may assist you in creating indices, e.g. I've also seen DBs that perform horribly because the schema and how it's queried changed over time but nobody really looked into checking what's going on with the indices and as a consequence things perform about 100 times slower than they otherwise would, which can totally go under the radar until suddenly it's a big problem because it ends up in a critical path for some action that's done often. references like TABLE_NAME, ID_IN_TABLE, just typically also named weirdly like REF_TYPE, ENTITY_ID because they pretend they can abstract the DB away) is a good idea and didn't consider that maybe the DB should also be usable outside of a particular Java application which has bunches of enums and so on. Now, i'm not saying that these tools are all that people should be using, quite on the contrary - learning a bit of everything is probably pretty nice, if you have enough time and are willing to put in the effort to explore your options! But i've also seen them not being used at all leading to some pretty bad circumstances - gradually created DB schemas where you end up needing to query 9 different tables to get some data because of no good reason, killing the usability of the DB through any tool where you want to visualize things or even want to write SQL queries because some app developer thought that going for OTLT (e.g. proper foreign keys) also far less useful for badly architected ones (no foreign keys OR EAV/OTLT pattern which has more proponents than i'm okay with). statements or something - tools like DbVis can let you visualize hundreds of tables of various DBMSes easily, as well as filter your layouts etc., which in my experience has been really useful for well architected schemas (e.g. Of course, using tools like that in some capacity probably also immensely useful for discovering larger and older DB structures and just exploring the schema rather than just writing a bunch of SELECT/DESCRIBE/. The migrations might (should?) still be applied by a tool of some sort and could be versioned, but being able to draw a bunch of boxes around and getting all of the DDL that you need to get 90% of the way there is pretty great! Curiously, this also lets you tackle the laziness of the developers: "But i don't want to create 5 different tables for these types of objects that are different but also seem vaguely similar at the present time, i might just do with one wide table with lots of columns because i'm lazy and data normalization be damned!" adding a new table to an existing schema through the ER diagram) which was just surprisingly useful! Not only that, but there was also the ability to synchronize schemas, with the tool essentially diffing what is there and what needs to be changed, so partial changes also become doable (e.g. But not just that, you could also forward engineer this ER diagram of yours to get SQL that you could apply to a live instance, or vice versa - to create an ER diagram of an existing DB instance. You could design your entire schema as an ER diagram, thus being able to play around with how everything could be laid out extremely easily and also get a visual "feel" for that it'd end up being like and how your queries could work. To expand upon the argument of leaning into GUI tools for stuff like this, or to offer my own opinions, i really liked the functionality of MySQL Workbench. Don't feel pressured, do what works for you. These are not fundamentally complex or magic (there will be times you wonder at the stupidity of the query plan), there are books on this and lots of articles out there.įor small dbs, no problem, but as they grow not understanding the optimiser will kill you.Īnyway, my experience.
#POSTICO LINUX HOW TO#
You need to understand what the query optimiser does and how to give it the info it needs (indexes, clustered indexes, stats, whatever), which the wizard will not help you understand. If you know what you are doing you 99% don't need it (I've got a couple of useful tips off it, ever, that's all). The index wizard is likewise de-skilling. There's a small hump to get over to learn to write SQL queries, it's worth getting over (IMO) (there are times when I'd like to take a large existing multi-way join and see a pic of it though).

Visual query builders are a deskilling device. If you're using SQL on small DBs you can probably get away with what you do, for large DBs that won't fly. This is just IMO and it depends on your needs, but these fit mine.
