Skip to content

Instantly share code, notes, and snippets.

DECLARE @Hour INT;
DECLARE @Greeting NVARCHAR(50);
-- Отримуємо поточну годину на сервері
SET @Hour = DATEPART(HOUR, GETDATE());
-- Визначаємо привітання за часом доби
IF @Hour >= 5 AND @Hour < 12
SET @Greeting = N'Доброго ранку!';
ELSE IF @Hour >= 12 AND @Hour < 18
SELECT
s.id AS SaleID,
p.name AS ProductName,
c.name AS CategoryName,
s.quantity,
s.price,
s.date_of_sale
FROM Sale s
INNER JOIN Product p ON s.id_product = p.id
INNER JOIN Category c ON p.id_category = c.id
SELECT
SUM(price * quantity * (1 - discount / 100.0)) AS possible_income
FROM product
WHERE name LIKE '%Хліб%'
OR name LIKE '%Молоко%';
SELECT *
FROM product
WHERE quantity > 10
AND date_of_delivery >= DATEADD(day, -1, CAST(GETDATE() AS date));
USE [master]
GO
/****** Object: Database [Store] Script Date: 1/10/2026 10:07:48 PM ******/
CREATE DATABASE [Store]
CONTAINMENT = NONE
ON PRIMARY
( NAME = N'Store', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL17.MSSQLSERVER\MSSQL\DATA\Store.mdf' , SIZE = 8192KB , MAXSIZE = UNLIMITED, FILEGROWTH = 65536KB )
LOG ON
( NAME = N'Store_log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL17.MSSQLSERVER\MSSQL\DATA\Store_log.ldf' , SIZE = 8192KB , MAXSIZE = 2048GB , FILEGROWTH = 65536KB )
WITH CATALOG_COLLATION = DATABASE_DEFAULT, LEDGER = OFF
USE [master]
GO
/****** Object: Database [Product] Script Date: 12.12.2025 13:37:32 ******/
CREATE DATABASE [Product]
CONTAINMENT = NONE
ON PRIMARY
( NAME = N'Product', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL17.MSSQLSERVER\MSSQL\DATA\Product.mdf' , SIZE = 8192KB , MAXSIZE = UNLIMITED, FILEGROWTH = 65536KB )
LOG ON
( NAME = N'Product_log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL17.MSSQLSERVER\MSSQL\DATA\Product_log.ldf' , SIZE = 8192KB , MAXSIZE = 2048GB , FILEGROWTH = 65536KB )
WITH CATALOG_COLLATION = DATABASE_DEFAULT, LEDGER = OFF
USE [master]
GO
/****** Object: Database [Product] Script Date: 11.12.2025 21:04:59 ******/
CREATE DATABASE [Product]
CONTAINMENT = NONE
ON PRIMARY
( NAME = N'Product', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL17.MSSQLSERVER\MSSQL\DATA\Product.mdf' , SIZE = 8192KB , MAXSIZE = UNLIMITED, FILEGROWTH = 65536KB )
LOG ON
( NAME = N'Product_log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL17.MSSQLSERVER\MSSQL\DATA\Product_log.ldf' , SIZE = 8192KB , MAXSIZE = 2048GB , FILEGROWTH = 65536KB )
WITH CATALOG_COLLATION = DATABASE_DEFAULT, LEDGER = OFF
USE [master]
GO
/****** Object: Database [CarStore] Script Date: 11.12.2025 19:22:43 ******/
CREATE DATABASE [CarStore]
CONTAINMENT = NONE
ON PRIMARY
( NAME = N'CarStore', FILENAME = N'C:\My SQL\Car\car.mdf' , SIZE = 15360KB , MAXSIZE = UNLIMITED, FILEGROWTH = 65536KB )
LOG ON
( NAME = N'CarStore_log', FILENAME = N'C:\My SQL\Car\carlog.ldf' , SIZE = 5120KB , MAXSIZE = 2048GB , FILEGROWTH = 65536KB )
WITH CATALOG_COLLATION = DATABASE_DEFAULT, LEDGER = OFF
@AlexDrts
AlexDrts / gc-net10-ua.md
Created November 24, 2025 17:40
Покращення збирача сміття в .NET 10 – детальний огляд

Нові можливості збирача сміття в .NET 10: Огляд адаптивних механізмів та оптимізацій продуктивності

Анотація

Збирач сміття (Garbage Collector, GC) у .NET продовжує еволюціонувати, забезпечуючи ефективне керування пам'яттю в умовах сучасних хмарних і контейнеризованих середовищ. У .NET 10, випущеній у листопаді 2025 року, ключовими інноваціями стали розширені налаштування DATAS (Dynamic Adaptation to Application Sizes) для Server GC, оптимізації ескейп-аналізу для стекових алокацій малих об'єктів, елімінація write-barrier'ів та покращення для Arm64. Ці зміни зменшують тиск на GC, знижуючи латентність на 66–91%, елімінуючи алокації в 100% випадків для короткоживучих об'єктів та стабілізуючи паузи під навантаженням. На основі документації Microsoft та бенчмарків, демонструється скорочення memory footprint на 70–90% у мікросервісах та зростання throughput на 10–18%. Стаття корисна для розробників високонавантажених систем, особливо в Kubernetes та Azure, з рекомендаціями щодо тюнінгу.

Ключові слова: .NET

# Нові можливості збирача сміття в .NET 9: Огляд адаптивних механізмів та оптимізацій продуктивності
## Анотація
Збирач сміття (Garbage Collector, GC) є ключовим компонентом платформи .NET, що забезпечує автоматичне керування пам'яттю та запобігає витокам. У версії .NET 9, випущеній у листопаді 2024 року, відбулися значні покращення GC, спрямовані на підвищення ефективності пам'яті, зниження латентності та адаптацію до динамічних навантажень. Основними інноваціями є активація за замовчуванням механізму DATAS (Dynamic Adaptation to Application Sizes), адаптивний Server GC та оптимізації, пов'язані з JIT-компіляцією. Ця оглядова стаття аналізує ці зміни, їх механізми, вплив на продуктивність та рекомендації щодо використання. На основі офіційної документації Microsoft та бенчмарків, демонструється зниження споживання пам'яті на 93% та зростання throughput на 15% у типових сценаріях. Стаття корисна для розробників, які працюють з високонавантаженими додатками, особливо в хмарних та контейнеризованих середовища
@AlexDrts
AlexDrts / article.md
Created November 24, 2025 16:41 — forked from sunmeat/article.md
нові фішки збирача сміття в дот нет 9

Нові можливості збирача сміття в .NET 9: Огляд адаптивних механізмів та оптимізацій продуктивності

Анотація

Збирач сміття (Garbage Collector, GC) є ключовим компонентом платформи .NET, що забезпечує автоматичне керування пам'яттю та запобігає витокам. У версії .NET 9, випущеній у листопаді 2024 року, відбулися значні покращення GC, спрямовані на підвищення ефективності пам'яті, зниження латентності та адаптацію до динамічних навантажень. Основними інноваціями є активація за замовчуванням механізму DATAS (Dynamic Adaptation to Application Sizes), адаптивний Server GC та оптимізації, пов'язані з JIT-компіляцією. Ця оглядова стаття аналізує ці зміни, їх механізми, вплив на продуктивність та рекомендації щодо використання. На основі офіційної документації Microsoft та бенчмарків, демонструється зниження споживання пам'яті на 93% та зростання throughput на 15% у типових сценаріях. Стаття корисна для розробників, які працюють з високонавантаженими додатками, особливо в хмарних та контейнеризованих середовища