Best of SQL — September 2025
- 1
- 2
- 3
JetBrains·36w
A Farewell to Consoles
DataGrip 2025.3 replaces query consoles with query files to improve workflow consistency. The change addresses longstanding issues where consoles lived outside project structure, were hard to find, and had limited context switching capabilities. Query files are now stored in a visible project folder, support full file operations, and maintain database context with improved visual indicators. Existing consoles will be migrated automatically with a one-release transition period.
- 4
Architecture Weekly·37w
Just use SQL they say... Or how accidental complexity piles on
Explores how the seemingly simple approach of "just use SQL" can lead to accidental complexity as requirements grow. Starting with basic SQL queries in TypeScript, the article demonstrates how adding features like filtering, parameterization for SQL injection prevention, and dynamic query building quickly escalates into building a custom query compiler. The piece argues that while "just" solutions work initially, they often evolve into the same complexity that existing tools were designed to solve, emphasizing the importance of considering long-term needs when choosing between DIY and established solutions.
- 5
DuckDB·36w
Announcing DuckDB 1.4.0
DuckDB 1.4.0 'Andium' introduces Long Term Support with 1 year community maintenance, database encryption using AES-256, MERGE statement for upsert operations, Iceberg write support, CLI progress bar with ETA, FILL window function for interpolation, and performance improvements including sorting rework and materialized CTEs. The release also includes macOS notarization and moves Python integration to a separate repository.
- 6
Crunchy Data·35w
Postgres 18: OLD and NEW Rows in the RETURNING...
PostgreSQL 18 introduces the ability to access both OLD and NEW row values in RETURNING clauses for INSERT, UPDATE, DELETE, and MERGE operations. This enhancement allows developers to see previous and current data states in a single query, making it easier to detect whether an upsert operation inserted a new row or updated an existing one without relying on internal implementation details like xmax values.
- 7
- 8
databricks·38w
Architecting a High-Concurrency, Low-Latency Data Warehouse on Databricks That Scales
A comprehensive guide to building high-performance data warehouses on Databricks that handle hundreds of concurrent users with sub-second query response times. Covers architectural best practices including SQL Serverless Warehouses, Liquid Clustering, Unity Catalog governance, and AI-powered optimizations. Provides a structured framework for assessment, implementation, and monitoring, with real-world case study showing how an email marketing platform reduced costs while improving performance through materialized views and modern data organization techniques.
- 9
Frontend Masters·38w
Advanced PostgreSQL Indexing: Multi-Key Queries and Performance Optimization – Frontend Masters Blog
Explores advanced PostgreSQL indexing techniques for multi-key queries and performance optimization. Demonstrates how to create composite indexes on publisher and title columns to dramatically improve query performance from seconds to milliseconds. Shows practical solutions for querying multiple publishers using CTEs and lateral joins, explaining when and why different execution plans are chosen. Provides real-world examples with a 90-million record books table, illustrating how proper index design and query structure can achieve sub-millisecond performance even with complex multi-publisher queries.
- 10
Grafana Labs·35w
Grafana 12.2 release: LLM-powered SQL expressions, updates to canvas and table visualizations, simplified reporting, and more
Grafana 12.2 introduces LLM-powered SQL expressions for natural language query generation, enhanced table visualizations with new cell types and formatting options, improved canvas visualization with flexible pan/zoom capabilities, enhanced ad hoc filtering support for SQL data sources, and simplified one-page reporting. The release also includes updates to Drilldown apps for queryless data exploration, a new Jenkins Enterprise data source for CI/CD metrics, and authentication support for visualization actions with the Infinity data source.
- 11
depesz·35w
Waiting for PostgreSQL 19 – Add date and timestamp variants of random(min, max). – select * from depesz;
PostgreSQL 19 introduces new random() function variants for generating random dates and timestamps within specified ranges. The update adds three new functions: random(min date, max date), random(min timestamp, max timestamp), and random(min timestamptz, max timestamptz). These functions simplify test data generation by eliminating the need for manual calculations with intervals and mathematical operations.
- 12
Tech With Lucy·36w
The Future of Databases is here... (What you need to know)
Modern databases are evolving to handle both transactional and analytical workloads in real-time, eliminating the need for complex multi-database architectures. Traditional setups require separate systems for applications and analytics, causing data delays and increased complexity. New unified database platforms can process transactions, run analytics, and support AI workloads simultaneously, enabling instant dashboards, real-time fraud detection, and live inventory systems. The future points toward databases that natively support vector search, unstructured data, and AI workloads without requiring multiple tools or complex data pipelines.
- 13
Frontend Masters·38w
Introduction to Postgres Indexes – Frontend Masters Blog
A comprehensive guide to PostgreSQL B-Tree indexes covering how they store data on disk, navigate through internal nodes, and speed up queries. Explores practical examples with a 90-million record database, demonstrating index scans, bitmap scans, covering indexes, and the INCLUDE clause. Shows how indexes can sometimes hurt performance when the query optimizer makes suboptimal choices, and explains concepts like heap fetches, visibility tables, and the difference between index scans and index-only scans.
- 14
freeCodeCamp·35w
A Brief Introduction to SQLite
SQLite is an underappreciated embedded database that runs directly in applications without server setup or configuration. It powers smartphones, browsers, and desktop apps worldwide. This tutorial covers SQLite integration through practical examples in C/C++, Python, and Java, including database design, low-level API usage, Flask web development, and JDBC implementation. The content emphasizes SQLite's simplicity and power for local data storage without the complexity of full database servers.
- 15
PostgreSQL·36w
pgFormatter v5.8 has been released
pgFormatter v5.8 introduces improved formatting for INSERT statements, now distinguishing between single and multiple value formats with different indentation styles. The release also fixes indentation issues in DO blocks and includes various user-reported bug fixes and improvements.
- 16
ClickHouse·34w
How we scaled raw GROUP BY to 100 B+ rows in under a second
ClickHouse Cloud introduces parallel replicas, enabling GROUP BY queries to scale across thousands of cores automatically. The feature processes 100 billion rows in under half a second without pre-aggregation or data reshuffling. By distributing work across multiple nodes using partial aggregation states, queries achieve terabyte-per-second throughput with linear scaling. The system uses granule-based load balancing and safeguards to optimize performance, making analytical queries interactive even at massive scale.
- 17
The Daily WTF·35w
One Last ID
A web development company made a costly SQL mistake by adding an unnecessary FROM clause to a last_insert_id() query, causing MySQL to return millions of duplicate values instead of a single ID. This simple error resulted in 30MB responses for each INSERT operation, generating terabytes of unexpected data transfer costs and blowing the operational budget. The technical fix was simple, but coordinating the deployment took six weeks, including two weeks just to convince the company the problem existed.