Markus Winand
@winand.at
1.2K followers 63 following 230 posts
SQL Renaissance Ambassador. Author, Trainer, Coach. PhD in Common Sense. Creator of http://use-the-index-luke.com and http://modern-sql.com.
Posts Media Videos Starter Packs
Pinned
Teaching is about making students reach the same level of understanding as the teacher—but with less mental effort.

This allows students to put their mental efforts into growing beyond their teachers.
Reposted by Markus Winand
Derby DB to be retired!

#apache #database #java

issues.apache.org/jira/...
Oracle 26ai¹ was released yesterday.

From the SQL standpoint it's worth mentioning that is has got the QUALIFY clause:

I bet this starts an avalanche (there are already PostgreSQL patches).

modern-sql.com/caniuse/qual...

¹ 26ai is the marketing version, 23.26.0 is the technical version.
QUALIFY clause (window functions)
QUALIFY: filter rows based on window functions
modern-sql.com
Because it is a list of lists.
The best thing is how they “solved” the problem ;)
they used AI to uppercase text? lol.
A Reddit post titled "Wow... we've been burning money for 6 months." The post's author, u/me_z, describes how their company's OpenAI usage was costing around $1200 a month. They are using GPT-4 for simple tasks like extracting phone numbers, checking for profanity, reformatting JSON, and uppercasing text. The author ends by asking, "Am I an idiot? How much are you guys spending?"
Reposted by Markus Winand
After being « gone fishin' » during summertime I just updated my website for the releases that happened during that time:

* MariaDB 11.8 and 12.0
* Oracle 23.9
* Db2 12.1.2

All charts on modern-sql.com and use-the-index-luke.com are updated.
Modern SQL: A lot has changed since SQL-92
SQL has evolved. Beyond the relational model. Discover it now.
modern-sql.com
My favorite change is that MariaDB got an improved implementation of the WHERE year(...) = ? rewriting. use-the-index-luke.com/blog/2024-12...

In picture: the green check mark used to be yellow, with the "a" footnote: Unconditionally rewritten — even if only a matching function-based index exists
After being « gone fishin' » during summertime I just updated my website for the releases that happened during that time:

* MariaDB 11.8 and 12.0
* Oracle 23.9
* Db2 12.1.2

All charts on modern-sql.com and use-the-index-luke.com are updated.
Modern SQL: A lot has changed since SQL-92
SQL has evolved. Beyond the relational model. Discover it now.
modern-sql.com
Reposted by Markus Winand
Reposted by Markus Winand
Ben @benjdd.com · Aug 25
Index your database with caution.

Every new index causes:

(a) Increased storage overhead (and in turn, data duplication)
(b) Increased write over head for INSERTs

The general principle here is that indexing improves read performance but hurts write performance.
Reposted by Markus Winand
Reading “SQL Performance Explained” and I’m taking this as an excuse to draw tree/squirrel shaped Pokémons
A picture of a notebook with notes from the first chapter of the book “SQL Performance Explained”, on the page there’s a drawing of Sudowoodo, a tree-shaped Pokemon
Reposted by Markus Winand
SQL is the biggest gift to humankind, sliced bread would come in second place
Reposted by Markus Winand
Do you still manually write SQL queries or rely entirely on ORMs?
Reposted by Markus Winand
Test whether a value is valid #JSON or not with

WHERE val IS JSON

You can also use this to test if the value is a JSON

Object
Array

And check if there are duplicate key names

@winand.at‬ investigates
… IS JSON [ARRAY|OBJECT|SCALAR]
Check JSON syntax in SQL, test for Arrays, Objects or Scalars
buff.ly
Https://use-the-index-luke.com/ :)
Nächsten Montag bei ViennaDB: Braucht man denn überhaupt eine Datenbank? Hinken RDBM-Systeme anderen Sprachen hinterher? Wofür opfert man seinen Schlaf?
Drei Praxis-Vorträge, nähe Praterstern, für Verpflegung ist gesorgt
Kostenlose Anmeldung zwecks Planung erwünscht: www.meetup.com/viennadb-the...
Datentypen, NoDB und NoSleep, Mon, Jun 23, 2025, 6:30 PM | Meetup
[As an exception, our next meetup will be held in German] Am Montag, dem 23. Juni, ist es (schon) wieder so weit. In drei Vorträgen geht es um Datentypen, das Leben ohne D
www.meetup.com
Reposted by Markus Winand
SQLite can serve as a robust container format, offering transactions, indexing, and SQL querying. Compared to ZIP, it adds structure but also overhead. It's a powerful option for complex structured data files. #Databases 6/6
That “*” indeed causes lot of misconceptions in both areas: NULL treatment and performance.
Do you remember I tried to change Postgres code to remember the not meaningful necessity for the star in count(*)? Well, I’m just saying that other DBMS like @clickhouse.com did.
tyler perry 's house of payne is being advertised on bet
Alt: A man is raising his hands in the air in a “not my fault” gesture.
media.tenor.com
Good morning and have a nice day :)
Reposted by Markus Winand
New PostgreSQL tag: REL_18_BETA1

So many features to check out…
New PostgreSQL tag: REL_18_BETA1

So many features to check out…
Laetitia Avrot wrote:

> I am announcing my resignation from my position as treasurer of our association, effective immediately.

It is not even saying "for private reasons". IMHO, something went terribly wrong (and might continue to go wrong).

Change my mind.

www.postgresql.org/message-id/C...
www.postgresql.org