Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Дата последнего движения
|
|||
|---|---|---|---|
|
#18+
DogenКак это неконтролируемый? Будет типа какой-нибудь логарифм от количества документов (пущай грамотные товарищи поправют). Логарифм он и есть логарифм. И результат логарифма уж точно неконтролируемый - он предопределенный законами природы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2005, 19:45 |
|
||
|
Дата последнего движения
|
|||
|---|---|---|---|
|
#18+
А может построить отдельную таблицу, в которую переносить только уникальные значения пар AccountId и Date? Т.е. множество проводок по одному счету в один день породят в такой таблице только одну запись. Не уверен, что это отличается от использования композитных индексов, но в такой таблице в любом разе легче будет задействовать кластеризацию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2005, 19:53 |
|
||
|
Дата последнего движения
|
|||
|---|---|---|---|
|
#18+
авторА может построить отдельную таблицу И чего? Будет сканиться она. Получим неконтролируемый рост / количество записей в день = неконтролируемый рост. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2005, 20:05 |
|
||
|
Дата последнего движения
|
|||
|---|---|---|---|
|
#18+
-- Если есть разные счета, тогда надо использовать код операции CREATE INDEX IX_OPR1_REW ON dbo.OPR1(KofOpr, DateOpr DESC, NomOpr DESC ) -- Использовать временную таблиицу или таблицу памяти Declare @DateN DateTime, @DateK DateTime Create table #T (KodOPr int, DateOpr DateTime, NomOpr int) Insert into #T (KodOpr) select Distinct KodOpr from Opr1 with (index(Ix_Opr1_Rew)) where DateOpr between @DateN and @DateK -- Здесь нет перебора по базе, используется только индекс -- Заполнить таблицу последней датой Update t Set DateOpr=(select top 1 DateOpr from Opr1 with (index(Ix_Opr1_Rew)) order by DateOpr Desc, NomOpr desc), NomOpr=(select top 1 DateOpr from Opr1 with (index(Ix_Opr1_Rew)) order by DateOpr Desc, NomOpr desc) from #T t -- Можно еще уменьшить время в два раза, если помудрить -- над последним операторм, т.е. Declare @Str VarChar (50) Update t Set @Str =(select top 1 Convert(Char(15),DateOpr,4)+ Convert(Char(10), NomOpr) from Opr1 with (index(Ix_Opr1_Rew)) order by DateOpr Desc, NomOpr desc), DateOpr=Convert(DateTime,Left(@Str,15)), NomOpr=Convert(Int,Substring(@Str,16,10)) from #T t ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2005, 20:16 |
|
||
|
Дата последнего движения
|
|||
|---|---|---|---|
|
#18+
2 PVP Спасибо! И ведь знал же про этот прием... Избавил от кучи лишней работы. Reads, конечно, в результате бы революционно уменьшилось, но так (через спекуляцию с индексом) все будет работать уже сейчас и без изменения системы. P.S.В "моем" случае и DESC индекса не понадобилось по своим причинам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2005, 11:45 |
|
||
|
Дата последнего движения
|
|||
|---|---|---|---|
|
#18+
Crimean Обычно кроме проводок есть еще и закэшированная информация об остатках на счете При чем если ее делать по уму то эта таблица, грубо говоря, хранит записи только за те даты на которые по указанному счету были обороты. Ясно, что количество записей в такой таблице на порядок меньше чем в таблице проводок. Возможно, стоит требуемую информацию брать оттуда? Это что касается программной оптимизации - кроме того, у большинства СУБД есть свои средства работы с большими таблицами (тот же partitioned views) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2005, 15:05 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=32888056&tid=1546081]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
48ms |
get topic data: |
9ms |
get forum data: |
4ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
| others: | 227ms |
| total: | 375ms |

| 0 / 0 |
