- Порезанный
- 23 сентября 2026 г. в 01:27 UTC
- Автор
- Kamo
- Обещать
- ae437eb
«Существующие лиды» были COUNT (*) над соответствующим пулом, и один пул организации содержит ~ 796k лидов: ~ 7,8 с на (рынок, продукт) и ~ 11 с для сгруппированного (измеряется 2026-09-17). Управляемость Один раз пробежала строка «Leads-Available once per product», а каждый «Accept» пробежал Просто чтобы показать новую фигуру. Кредитные балансы были одинаковой формы на lead credits. Каждый потраченный кредит навсегда. Обе цифры теперь исходят из сохраненных итогов: lead pool counts / lead credit balances plus a только приложение журнал дельты, который строка триггеров на лиды / lead credits написать в той же транзакции как изменение (securityservice create lead ledgers.sql, применяется 2026-09-22). Прочитанная сумма + журнал в одном заявлении, так что это точно, и Hibernate вспыхивает в ожидании написания перед родным запросом, Таким образом, транзакция видит свои собственные монетные дворы и тратит. Методы хранения сохраняют свои имена, поэтому каждый Звонящий в каждой службе переезжает с этой библиотекой. DaemonService сворачивает журнал каждые 30 с пересчитывает по ночам, добавляя коррекцию на любой дрейф. Также: Выбор Accept (findAssignablePool) считывает и сортирует весь пул продуктов: 9,5 с на Accept. Теперь это FindAssignablePoolUids, прикрепленный с помощью pg hint plan намеком на новый частичный индекс. ix leads assignable pool, поскольку планировщик наследия этого кластера предпочитает ix leads org market и типа. 9 470 мс -> 4 мс на живом бассейне; зонд существования (образец AssignablePoolUids) аналогично; Пустой продукт больше не стоит сканирования всего рынка. - Бэтч читает для сетки: **************************** (каждая строка в одном чтении), FindSpentCreditsInRange (каждый участник проводит с самой ранней местной полуночи), CountAcceptedSinceByProduct и **************** близнец в памяти найти Применимые ассигнования для решения многих (рыночных, товарных) пар из одного списка. Тесты: LeadLedgerQueryShapeTest ставит штифты для чтения реестра, неотрицательный зажим, большие слепки и Подсказка индекса; LeadAllotmentMostSpecificOfTest прикрепляет решателя к правилам запроса. Триггер DDL, каждое прочтение, сгиб и пересчет были переиграны против YugabyteDB (темп-таблицы, 60 чеков). Полный комплект: 3012 тестов, 5 провалов точно так же, как и на 6374937 (StorageDomainCoverage), StorageDomainAssociationLookup, ReportVisibility, PhiServiceTypeMapping, SystemBugCountContract.
