Necessity of RETURNING *
The reason for RETURNING * on inserts and updates is probably for setting database-level column defaults to the model instance. I wonder if this is something that should be done by default. maybe an optional Query#returning method could be introduced which would allow setting this to field names like in Query#select.
Returning nothing or only the primary key value could be a real performance boost.
Same applies of course to other adapters that use SELECT with LAST_INSERTED_ID()
I knew there would be a performance decrease (especially on mysql and sqlite) at the cost of having the newly inserted record id.
I think defaulting to not returning this and providing an option to include it makes sense.