SQL HowTo: ускоряем запрос в 32 раза #почитать Не читайте, пока хотите решить задачу самостоятельно. ✅Читать статью

Channel
SQL для тестировщика
@sql_for_qa
On this record: Growth · Engagement · What this channel posts · Reactions · Posts · Polls · Citations · Telegram's recommendations · Cite this entry
6,303subscribers
-262 since we began measuring on 7 August 2026
Risers and fallers across the register · movement among entries of 3,162–10,000.
Register entry
| Telegram ID | -1001895019126 |
|---|---|
| Type | Channel |
| Username | @sql_for_qa |
| Created | Between 1 October 2022 and 30 September 2023 — estimated from Telegram’s id allocation, not measured. How this range is calculated. |
| First recorded | 7 August 2026 |
| Last confirmed live | 3 September 2026 |
| Measurements held | 11 |
| Confirmed unchanged | 1 time, most recently 3 September 2026 |
| On Telegram | t.me/sql_for_qa |
Growth
| Measured (UTC) | Subscribers | Change |
|---|---|---|
| 3 Sept 2026, 20:00 | 6,303 | -3 |
| 31 Aug 2026, 17:26 | 6,306 | -9 |
| 28 Aug 2026, 09:43 | 6,315 | -2 |
| 24 Aug 2026, 23:04 | 6,317 | -62 |
| 21 Aug 2026, 00:54 | 6,379 | -41 |
| 17 Aug 2026, 20:45 | 6,420 | -42 |
| 14 Aug 2026, 11:38 | 6,462 | -56 |
| 10 Aug 2026, 16:41 | 6,518 | -31 |
| 7 Aug 2026, 22:56 | 6,549 | -16 |
| 7 Aug 2026, 08:45 | 6,565 | no change |
| 7 Aug 2026, 08:38 | 6,565 | first reading |
Engagement
20 posts held, back to 19 May 2026 — the reader has not yet reached the start of this channel’s public history, so older posts may sit further back, unread. Read across 9 pages of Telegram’s post history, 20 posts per page.
Nothing published in the last 30 days. ERR and ER are rolling 30-day measures, so there is nothing to compute — we hold 20 posts for this entry, the most recent from 5 August 2026. An engagement rate over an empty window would be a number about nothing.
What this channel posts
- Video runtime
- 1m 08s
- Average length
- 1m 08s
Measured directly from 1 video with a duration reading, out of the posts we hold for this channel — not this channel’s whole posting history, only the sample this register has actually read. An exact reading to the second, taken from the post itself rather than from Telegram’s own rounded chrome, so it carries no ≈ mark.
Reaction mix
64 reactions across 19 posts, in 4 distinct kinds. The most used accounts for 37.5% of them.
| Reaction | Count | Share | Share, drawn |
|---|---|---|---|
| 👍 | 24 | 37.5% | |
| 🔥 | 18 | 28.1% | |
| ❤ | 16 | 25.0% | |
| 🌚 | 6 | 9.38% |
No sentiment is inferred, and none should be read in. This table is ordered by count and by nothing else. Emoji do not carry stable meaning across languages or communities — 🙏 is thanks in one channel and mourning in another — so we publish which ones were pressed and how often, and pass no judgement on what an audience meant by them.
Precision. Telegram publishes reaction counts per emoji and short-forms each one — 4.34K, 1.2M — so any single kind at or above 1,000 reaches us at three significant figures, and only counts below 1,000 are exact. The shares above are ratios of those figures and carry the same error. This is also why the total here can differ slightly from a reaction total printed elsewhere on the page: both are sums of the same rounded parts, taken over samples with different edges.
Coverage. Reactions were read on 19 of the 20 sampled posts in this sample. Summed by Telegram’s own count on each post — not by adding up the per-emoji breakdown above — those same posts carry 64 reactions in total: the kind of figure the paragraph above means by “a reaction total printed elsewhere on the page”.
Measured over the 20 most recent posts we hold, published 19 May 2026 to 5 August 2026, using the newest reading held for each. Telegram Stars are excluded: they are a payment, not a reaction, and they have their own section.
Recent posts
Ускорение планирования JOIN’ов — до 16 раз быстрее #почитать Если раньше алгоритм сравнения частых значений (MCV) работал за O(N²), и при target=10k само планирование запроса могло занимать десятки миллисекунд, то теперь вместо квадратичного перебора будет использоваться хеш-таблица, а это снижает сложность до O(N). Изменение особенно оценят те, кто работает с неравномерными данными и поднимает default_statistics_t…
👍3
Как ИИ помогает проектировать базы данных #почитать Многие кто уже успел попробовать Cursor и подобные инструменты, восхищаются как ИИ способен писать код. ✅Читать статью
👍2🔥1
И снова про алгоритмы и структуры данных #почитать За годы разработки приходит понимание, что происходит в тех или иных сервисах, когда они тормозят, лагают, выдают «неожидаемое» поведение. В данной статье хочу рассмотреть проблему неправильного использования алгоритмов и архитектурных решений с бытовой, общечеловеческой стороны. ✅Читать статью
❤2👍2🔥1
🟢Подборка полезностей для тестировщиков 🐞 Июнь 💡 Теория ▫️Руководство по имитаторам для тестировщиков ▫️Бюджетное тестирование облачных приложений: Testcontainers и LocalStack ▫️Какие задачи в тестировании пора отдать ИИ, чтобы получить результат, а не новые проблемы ▫️От вебинаров до биллинга: что нужно тестировать в EdTech ▫️6 ошибок в метриках дефектов, из-за которых QA теряет контроль над качеством ▫️Аудит нагру…
❤2👍1🔥1
PostgreSQL Antipatterns: отказ от агрегатных функций = кратное ускорение #почитать Иногда в архиве нашего сервиса анализа планов запросов к PostgreSQL встречаются примеры не очень эффективных, мягко говоря, запросов. Сегодня на примере одного из них, вызванного простой бизнес-задачей, посмотрим, как отказ от использования агрегатных функций может ускорить запрос в разы. ✅Читать статью
❤2👍1🔥1
Как организовать тестовую среду, сохраняя покой владельца данных #почитать Хочу поделиться опытом с коллегами - как мы решили одну из наболевших проблем нашей команды разработки – отсутствие полноты данных для тестирования реализованного функционала в условиях ограниченного доступа к реальным данным компании. Если вы работаете с персональными данными, то наверняка сталкивались с такой проблемой. ✅Читать статью
❤2👍1🔥1
Разбираемся в функциональных зависимостях БД #почитать Возможно вас, как и меня, первое знакомство с функциональными зависимостями в базах данных повергло в легкий ступор. Длинные определения, которые не давались даже после третьего прочтения, излишняя абстрактность, когда на простые и понятные примеры поскупились, и прочее прелести «научного» подхода к объяснению сложных тем. Пора раз и навсегда разобраться во вс…
❤3👍1🔥1
ACID-свойства транзакций в SQL #почитать Для чего существуют принципы ACID? Можно ответить по бумажке, сказать, что это нужно для того, чтобы каждая транзакция обрабатывалась надежно, данные оставались в безопасности и системы работали предсказуемо. Все это в свою очередь должно гарантировать целостность данных. Но что это вообще такое и на что влияет? А ответ очень простой. Обеспечивая целостность данных, мы пред…
👍2
🟢Подборка полезностей для тестировщиков 🐞 31 мая 💡 Теория ▫️Новости тестирования за февраль-май 2026 ▫️Как оценивать ИИ‑агентов в проде: нижняя планка, трассы и кодовые проверки ▫️Peer testing на основе Закона Линуса ▫️Испытание временем — как тестировать цифровой двойник, если физического объекта ещё не существует ▫️Вы неправильно тестируете асинхронный код: тест проходит раньше, чем выполняется проверка ▫️Не прост…
🔥2👍1
Для чего используется команда ANALYZE в PostgreSQL?
- Для проверки целостности файлов21%
- Для удаления неиспользуемых индексов9%
- Для дефрагментации таблиц8%
- Для сбора статистики о распределении данных62%
Shares as published. No per-option vote count is published by Telegram, so none is shown.
❤3
Какое ключевое слово используется в оконных функциях PostgreSQL для определения группы строк, к которым применяется функция?
- GROUP BY55%
- PARTITION BY30%
- ORDER BY6%
- RANGE BETWEEN9%
Shares as published. No per-option vote count is published by Telegram, so none is shown.
🌚3🔥1
Showing the 12 most recent of 20 posts we hold for @sql_for_qa. View and reaction counts are the latest single reading for each post, not a live figure, and a recent post is still accumulating both. A view count marked ≈ was rounded by Telegram before we ever saw it — t.me prints views in full below 1,000 and to three significant figures above, so ≈1,200,000 means somewhere between 1,150,000 and 1,249,999. Unmarked counts are exact. Text is reproduced from the public post preview and truncated for length.
Polls
The 6 most recent of 8 polls we hold for this entry, as Telegram rendered them when we read the post. A poll’s figures keep moving after that, so each one is dated.
Для чего используется команда ANALYZE в PostgreSQL?
- Для проверки целостности файлов21%
- Для удаления неиспользуемых индексов9%
- Для дефрагментации таблиц8%
- Для сбора статистики о распределении данных62%
Shares as published. No per-option vote count is published by Telegram, so none is shown.
Какое ключевое слово используется в оконных функциях PostgreSQL для определения группы строк, к которым применяется функция?
- GROUP BY55%
- PARTITION BY30%
- ORDER BY6%
- RANGE BETWEEN9%
Shares as published. No per-option vote count is published by Telegram, so none is shown.
Какой объект в PostgreSQL используется для нормализации слов (удаления окончаний) при создании поискового индекса tsvector?
- Parser29%
- Dictionary27%
- Lexer38%
- Tokenizer6%
Shares as published. No per-option vote count is published by Telegram, so none is shown.
Какой тип данных в PostgreSQL следует использовать для хранения UUID (Universally Unique Identifier)?
- TEXT4%
- VARCHAR23%
- SERIAL10%
- UUID64%
Shares as published, totalling 101%. No per-option vote count is published by Telegram, so none is shown.
Какой оператор используется для получения строк, которые есть в первом результате запроса, но отсутствуют во втором?
- UNION23%
- INTERSECT24%
- MINUS11%
- EXCEPT42%
Shares as published. No per-option vote count is published by Telegram, so none is shown.
Как в PostgreSQL называется специальный столбец, который содержит физический адрес версии строки (ID блока и смещение)?
- ctid56%
- tableoid28%
- xmin10%
- cmax6%
Shares as published. No per-option vote count is published by Telegram, so none is shown.
Percentages only — there are no per-option vote counts here, because Telegram publishes none. The public post preview gives each option’s share and a single voter total, and nothing else. Multiplying one by the other would produce a per-option tally that looks measured and is not: the shares are rounded to whole numbers before we ever see them. We print what was published and leave the column that does not exist empty.
The shares need not add up to 100. Rounding alone puts many polls at 99 or 101. A poll that allows more than one answer per voter runs well past 100 by design, and several here do. The bars are drawn against a fixed 100% track at each option’s own percentage rather than normalised to the total, so a poll that exceeds it shows that it does instead of being quietly rescaled.
Read from the 20 most recent posts we hold, published 19 May 2026 to 5 August 2026. Telegram labels each poll by kind — an anonymous poll, a quiz, a closed set of final results — and that label is reproduced rather than paraphrased.
Forward network
Republishes
Channels on the register whose posts this channel has forwarded.
Built only from forwarded posts we have actually read, on both sides. Coverage is early and deliberately incomplete: a missing link means we have not read the post that would prove it, never that the relationship does not exist. Counts are distinct forwarded posts observed, so they only ever go up as we read more.
Mentions
Named by 1 registered channel — every channel on the register whose own posts have named this one, by its current username or any other username it currently holds, merged from two separately captured readings of the same fact so a namer caught by only one of them is not missed and a namer both caught is not counted twice. A username this channel has since dropped is not matched — that handle may belong to someone else now, and crediting today’s namer to yesterday’s owner would misattribute it.
Named by
Channels on the register whose posts name this channel's handle.
A mention is a weaker signal than a forward and is counted separately for that reason — naming a channel is not republishing it, and a handle in a post body is easy to place deliberately. The post counts beside each row below are distinct posts in which the handle appeared, from posts we have read on both sides — the “Named by N registered channels” figure above is a different count, of distinct NAMING CHANNELS rather than posts, and is not the sum of the rows under it.
Appears in Telegram’s recommendations for other channels
The reverse of the list above, and a different kind of signal. This does not require this channel to have ever been asked about directly — each row below is a channel we DID ask Telegram about, whose Telegram-generated list happened to include this one. A channel can appear here with an empty list above it, because being named by someone else’s query is independent of having been queried itself.
@godoftesting · 29,604
Telegram ranks this channel #4 of 90 here — alongside 89 others — read 8 September 2026
@serious_tester · 30,213
Telegram ranks this channel #21 of 92 here — alongside 91 others — read 7 September 2026
@qachanell · 30,260
Telegram ranks this channel #25 of 92 here — alongside 91 others — read 7 September 2026
@it_interns · 31,282
Telegram ranks this channel #39 of 97 here — alongside 96 others — read 6 September 2026
This channel appears in 4 seed channels' Telegram-generated recommendation lists in total. Each is Telegram’s list for THAT channel, not this one — see how this is measured.
Cite this entry
A live page changes as we take new readings, so a citation should name the measurement it is based on, not just the URL. The line below cites the subscriber count as measured 3 September 2026 — this entry's latest reading, not the date you are reading this.
“SQL для тестировщика” (@sql_for_qa), 6,303 subscribers as measured 3 September 2026. Telegram Register, tgregister.com/channel/sql_for_qa.
Full measurement history, CC BY 4.0. Every reading this register holds for this entry, not just the latest one, as a dated, downloadable record: CSV · JSON. Free to use with attribution to tgregister.com. Each file carries its own generation timestamp, which is the figure to cite for exactly when the data was retrieved.