What AI Gets Wrong About Your Database

tmp_orders is the real orders table, flag1 means something nobody remembers, and the promotions bridge has no UNIQUE key because everyone just knows not to double-join it. An assistant reading information_schema learns none of this. What it can't read, it guesses, and the guesses run clean.

The Hello-World Procurement Problem: Why LLM Tooling Gets Bought Wrong

In January 2025 Mark Zuckerberg told Joe Rogan that AI would replace Meta's mid-level engineers within the year. The same CEO had spent the prior five years burning $73 billion on Reality Labs, a bet made from the same C-suite-level read of the technology. The pattern in both: showroom demo, executive-grade claim, no SME with veto authority anywhere near the room when the bet got made.

Reading the Schema Is Not Reading the Data

status TINYINT NOT NULL tells you the storage. It doesn't tell you that 1 means 'active' in one table, 'pending' in another, and 'has been processed' in a third. Or that half the tables soft-delete and the other half don't. Or that signup_date VARCHAR(10) arrives in three different formats depending on which year the row was written.

Random UUIDs as Primary Keys: The B-Tree Penalty

UUIDv4 is globally unique, needs no coordination, leaks no row-count information, and destroys write locality on every insert. Every new row lands at a random position in the B-tree, which means a random page load, a likely page split, and a secondary-index entry that's 16 or 36 bytes instead of 8. The fix is picking v7, storing it narrow, or keeping the UUID at the edge.

Legacy Schemas Are Sediment, Not Design

tmp_orders is the main orders table. old_price holds the current price. flag1 means something nobody remembers. Every mature schema drifts this way: names that stopped describing their data, conventions from three different eras, tables whose temporary prefix is locked in permanently. The fix isn't renaming; it's making the drift legible to the next reader.