Базы данных и всё, что с ними связано!
Сотрудничество: @haarrp
РКН № 6766085482
Post #1169
3.23K
- ❤ 2
SQ @databases_tg
Showing posts older than #1170 · Back to latest



scope="session" датасет загружается один раз и переиспользуется во всех тестах. Это ускоряет процесс и снижает нагрузку.
SELECT
COUNT(*) AS total_users,
COUNT(*) FILTER (WHERE is_active) AS active_users,
SUM(amount) FILTER (WHERE status = 'paid') AS total_revenue
FROM users;

DISTINCT ON + индекс.
-- индекс под запрос
CREATE INDEX idx_events_user_score
ON events (user_id, score DESC, event_time DESC);
-- топ-1 событие на пользователя
SELECT DISTINCT ON (user_id) user_id, id, score, event_time
FROM events
ORDER BY user_id, score DESC, event_time DESC;







JOIN можно использовать WITH TIES (поддерживается в PostgreSQL 13+, SQL Server, Oracle, MySQL 8.0+):
SELECT *
FROM orders
ORDER BY created_at DESC
FETCH FIRST 1 ROW WITH TIES;

