Знатоки, вопрос!

  • Автор темы Автор темы Omh
  • Дата начала Дата начала
O

Omh

Привет!
Вопрос на засыпку, как думаете, что быстрее?
Код:
Dim Coll As NotesDocumentCollection
Dim i As Integer
Const MAX = 100
Dim DateDT As New NotesDateTime(Datenumber(1, 1, 2011))

For i = 1 To MAX
Set Coll = db.Search({@True}, DateDT, 0)	
Next

For i = 1 To MAX
Set Coll = db.Search({@Modified > @Date(2011; 1; 1)}, Nothing, 0)
Next	

For i = 1 To MAX
Set Coll = db.Search({@Modified> @Date(2011; 1; 1)}, DateDT, 0)
Next

По идее, все сёрчи должны вернуть примерно одно и то же :)

Убрал @True из второго и третьего условия, что бы не смущать.
 
КМК, самым быстрым должен быть первый вариант, самым медленным — второй.
 
({@True & @Modified> @Date(2011; 1; 1)},
а труе то зачем писать, одного условия мало?

По идее, все сёрчи должны вернуть примерно одно и то же
первое условие оперируется датой создания а не последней модификации

все три условия корявые
 
все три условия корявые
Выпрями?
Условие - созданные/изменённые после 01.01.2011

а труе то зачем писать, одного условия мало?
В первом условии стоит тру, решил и в остальные засунуть.
Это не рабочий код, это теоретичкеский вопрос.
Сферический конь в вакууме.
 
На локале самый быстрый — первый, второй медленнее на 12%, третий медленнее на 25%. Подозреваю, что значения сильно зависят от общего числа документов и числа отбираемых.
 
По идее, все сёрчи должны вернуть примерно одно и то же
Очень примерно. @Modified возвращает, так называемую, "Initially" дату модификации (т.е. в удалённой реплике), а CutOffDate работает с "In this file" (т.е. в данной реплике). Дата Initially <= даты In this file, т.е. в результате будут лишние документы.

По сути вопроса: из практики, первый вариант самый быстрый.
Разница по времени со вторым тем больше, чем больше документов с датой меньше DateDT, т.к. при Search проверяются все доступные документы на соответствие поисковой формуле. Документы с датой меньше DateDT при этом отсекаются каким-то другим, более быстрым способом.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!