8.0 went GA in April and the correlated subquery can retire. The plans before and after, the recursive CTE that replaces a loop, and the upgrade nobody expects.
Earlier versions accepted DESC in an index definition and ignored it, which is worse than rejecting it because the query looked optimised and was doing a filesort. It…
Dropping an index that turns out to be load-bearing means rebuilding it on a large table under pressure, so unused-looking indexes accumulate for years because nobody wants to…
Covering indexes are usually explained in terms of avoiding a row lookup. The other half is that an index is already ordered, so a sort matching the index…
A value derived from other columns is usually maintained by application code or a trigger, and both drift. A generated column is computed by the server and cannot…
Indexing a 255-character column costs 255 characters per row in the index, and for a lookup that is unique within the first dozen characters most of that is…