How to speed up a search on a shared mailbox folder

Status
Not open for further replies.
E

Enrique

Hi everybody,

I'm really stuck with the following problem:

Users: Outlook 2003

Server: Exchange 2003

We have to perform searches in a shared mailbox which contains thousends of

emails and look for specifics matches in a custom property ( there is a issue

about this and soon i will write a post just about this)

As a search method i use the restrict method through all the items of a

folder in a shared mailbox. The first time I use the method it takes 40

seconds. Inmediatly subsequent searches take only 1 second. If I search

again about 10 minutes after the first search for this folder i get again the

40 seconds delay where Outlook is like bloqued with that exclamation sign.

Unfortunally this time is not acceptable for us because sometimes we have to

search in a couple of folders. But if i search every 2-3 minutes i never get

this problem, even if a made it for a longer period of 10 minutes.

My questions:

How to maintain the data in a state where the next search is executed "as I

said in one second" even if i didn't search for a while?

Which criteria uses Outlook to decide if a "synchronization" is needed?

After lot of tests i would say 10 minutes is the criteria but sometimes in

searches within 9 minutes this syncronization was executed and sometimes not

even for a longer period of 10 minutes between searches.

Note: I'd like to add that our Internet connection is really fast. I see

changes in this shared mailbox folder made by my colleagues withing 1-2

seconds or even less. Also say that at the moment for this approach a macro

is our solution. Add-In maybe in the future if everything works fine.

Lot of thanks in advance.
 
See the Redemption (www.dimastr.com) and its Restrict* classes. That search

is lightning fast.

Best regards

Michael Bauer

Am Wed, 19 Aug 2009 10:34:02 -0700 schrieb Enrique:


> Hi everybody,

> I'm really stuck with the following problem:

> Users: Outlook 2003
> Server: Exchange 2003

> We have to perform searches in a shared mailbox which contains thousends


of
> emails and look for specifics matches in a custom property ( there is a


issue
> about this and soon i will write a post just about this)

> As a search method i use the restrict method through all the items of a
> folder in a shared mailbox. The first time I use the method it takes 40
> seconds. Inmediatly subsequent searches take only 1 second. If I search
> again about 10 minutes after the first search for this folder i get again


the
> 40 seconds delay where Outlook is like bloqued with that exclamation sign.
> Unfortunally this time is not acceptable for us because sometimes we have


to
> search in a couple of folders. But if i search every 2-3 minutes i never


get
> this problem, even if a made it for a longer period of 10 minutes.

> My questions:

> How to maintain the data in a state where the next search is executed "as


I
> said in one second" even if i didn't search for a while?

> Which criteria uses Outlook to decide if a "synchronization" is needed?
> After lot of tests i would say 10 minutes is the criteria but sometimes in
> searches within 9 minutes this syncronization was executed and sometimes


not
> even for a longer period of 10 minutes between searches.

> Note: I'd like to add that our Internet connection is really fast. I see
> changes in this shared mailbox folder made by my colleagues withing 1-2
> seconds or even less. Also say that at the moment for this approach a


macro
> is our solution. Add-In maybe in the future if everything works fine.

> Lot of thanks in advance.
 
Hello Michael,

Thanks for the tips but at the moment I can't follow this way with Redemption.

My IT would never allow me to use a COM object. They don't even let me

install Outlook Spy. And it's a shame because i'd like to explore this way.

My problem is not with the method selbst but with this "requesting data from

server every ... 10 minutes" Solve these Restrict classes this problem for

Outlook 2003 ??

Anyway, as a desperate idea i'm even thinking of perfoming in the background

a silly search every let's say 7 minutes which takes maybe 2-3 seconds so in

the next "real" search we don't spend theses 30-40 seconds

Thanks for your answer, Enrique.

"Michael Bauer " wrote:



> See the Redemption (www.dimastr.com) and its Restrict* classes. That search
> is lightning fast.

> > Best regards
> Michael Bauer

> > >

> Am Wed, 19 Aug 2009 10:34:02 -0700 schrieb Enrique:
>
> > Hi everybody,
> > I'm really stuck with the following problem:
> > Users: Outlook 2003
> > Server: Exchange 2003
> > We have to perform searches in a shared mailbox which contains thousends

> of
> > emails and look for specifics matches in a custom property ( there is a

> issue
> > about this and soon i will write a post just about this)
> > As a search method i use the restrict method through all the items of a
> > folder in a shared mailbox. The first time I use the method it takes 40
> > seconds. Inmediatly subsequent searches take only 1 second. If I search
> > again about 10 minutes after the first search for this folder i get again

> the
> > 40 seconds delay where Outlook is like bloqued with that exclamation sign.
> > Unfortunally this time is not acceptable for us because sometimes we have

> to
> > search in a couple of folders. But if i search every 2-3 minutes i never

> get
> > this problem, even if a made it for a longer period of 10 minutes.
> > My questions:
> > How to maintain the data in a state where the next search is executed "as

> I
> > said in one second" even if i didn't search for a while?
> > Which criteria uses Outlook to decide if a "synchronization" is needed?
> > After lot of tests i would say 10 minutes is the criteria but sometimes in
> > searches within 9 minutes this syncronization was executed and sometimes

> not
> > even for a longer period of 10 minutes between searches.
> > Note: I'd like to add that our Internet connection is really fast. I see
> > changes in this shared mailbox folder made by my colleagues withing 1-2
> > seconds or even less. Also say that at the moment for this approach a

> macro
> > is our solution. Add-In maybe in the future if everything works fine.
> > Lot of thanks in advance.

>
 
You're not going to be able to avoid the problem unless you use a MAPI

restriction such as from Extended MAPI or Redemption. Delegate mailboxes are

not cached so any local restriction will only be kept as long as Outlook

decides to keep it, which is not adjustable.

Doing anything on a background thread using the Outlook object model will

end up crashing or hanging Outlook, unless you synch back that thread to the

main thread, which defeats the purpose.

You might want to see if using SetColumns()/ResetColumns() helps, but unless

you end up with Outlook 2007 and its Tables or Redemption and MAPITables or

restrictions I'm afraid you'll just have to live with the problem.

"Enrique" <Enrique> wrote in message

news:B8DC5304-D9DA-46E3-B944-DC7ABA8FBA65@microsoft.com...
> Hello Michael,

> Thanks for the tips but at the moment I can't follow this way with
> Redemption.
> My IT would never allow me to use a COM object. They don't even let me
> install Outlook Spy. And it's a shame because i'd like to explore this
> way.
> My problem is not with the method selbst but with this "requesting data
> from
> server every ... 10 minutes" Solve these Restrict classes this problem
> for
> Outlook 2003 ??

> Anyway, as a desperate idea i'm even thinking of perfoming in the
> background
> a silly search every let's say 7 minutes which takes maybe 2-3 seconds so
> in
> the next "real" search we don't spend theses 30-40 seconds

> Thanks for your answer, Enrique.
 
Thanks for your answer Ken.

But now I've got another question. You say that I will have the data as long

as Outlook decides to keep it but i've have made the following tests with

unexpected results:

Client A: Outlook 2003 running a macro.

Client B: Outlook 2003 running the same macro.

Both use the search method (.restrict) on the same shared folder.

00:00 Search with Client A. It takes 40 seconds.

00:08 Search with Client A again. It takes 40 seconds. More or less.

00:09 Search with Client A. It takes 1 second.

That was expected. But:

00:30 Search with Client A. It takes 40 second.

00:31 Search with Client B. It takes 1 second !!!!!

I've have made lot of searches and the tendence remains similar.

So it doesn't depend only of Outlook but also on the server.

I've discard these kind of tricks as you recommended but I'll be happy if

someone could explain this issue. I also found other curious results but

don't want to mention them now to let the thread clear.

Thanks in advance,

Enrique
wrote:


> You're not going to be able to avoid the problem unless you use a MAPI
> restriction such as from Extended MAPI or Redemption. Delegate mailboxes are
> not cached so any local restriction will only be kept as long as Outlook
> decides to keep it, which is not adjustable.

> Doing anything on a background thread using the Outlook object model will
> end up crashing or hanging Outlook, unless you synch back that thread to the
> main thread, which defeats the purpose.

> You might want to see if using SetColumns()/ResetColumns() helps, but unless
> you end up with Outlook 2007 and its Tables or Redemption and MAPITables or
> restrictions I'm afraid you'll just have to live with the problem.

> >

>

> "Enrique" <Enrique> wrote in message
> news:B8DC5304-D9DA-46E3-B944-DC7ABA8FBA65@microsoft.com...
> > Hello Michael,
> > Thanks for the tips but at the moment I can't follow this way with
> > Redemption.
> > My IT would never allow me to use a COM object. They don't even let me
> > install Outlook Spy. And it's a shame because i'd like to explore this
> > way.
> > My problem is not with the method selbst but with this "requesting data
> > from
> > server every ... 10 minutes" Solve these Restrict classes this problem
> > for
> > Outlook 2003 ??
> > Anyway, as a desperate idea i'm even thinking of perfoming in the
> > background
> > a silly search every let's say 7 minutes which takes maybe 2-3 seconds so
> > in
> > the next "real" search we don't spend theses 30-40 seconds
> > Thanks for your answer, Enrique.


>
 
There are a lot of factors that can influence things like how long Outlook

holds references to things: available memory, what and how many other

applications are running, etc. All you can do is optimize your code and live

with that, or investigate other API's that may be faster.

"Enrique" <Enrique> wrote in message

news:9E7EBB57-F28A-46DA-9475-E706508132C7@microsoft.com...
> Thanks for your answer Ken.

> But now I've got another question. You say that I will have the data as
> long
> as Outlook decides to keep it but i've have made the following tests with
> unexpected results:

> Client A: Outlook 2003 running a macro.
> Client B: Outlook 2003 running the same macro.

> Both use the search method (.restrict) on the same shared folder.

> 00:00 Search with Client A. It takes 40 seconds.
> 00:08 Search with Client A again. It takes 40 seconds. More or less.
> 00:09 Search with Client A. It takes 1 second.

> That was expected. But:

> 00:30 Search with Client A. It takes 40 second.
> 00:31 Search with Client B. It takes 1 second !!!!!

> I've have made lot of searches and the tendence remains similar.
> So it doesn't depend only of Outlook but also on the server.

> I've discard these kind of tricks as you recommended but I'll be happy if
> someone could explain this issue. I also found other curious results but
> don't want to mention them now to let the thread clear.

> Thanks in advance,
> Enrique
 
Status
Not open for further replies.
Similar threads
Thread starter Title Forum Replies Date
M how to speed up search of shared contacts Using Outlook 0
N How can I increase/faster outlook VBA Macro Speed ? Using Outlook 2
S Outlook 2010 Speed Using Outlook 7
S Macro to speed email creation Outlook VBA and Custom Forms 4
P Speed Issues BCM (Business Contact Manager) 1
M Search message, then (1) Jump to folder & (2) Select message that you searched for Outlook VBA and Custom Forms 2
G Search Folders and Jump to Folder Outlook VBA and Custom Forms 2
A 'search people' now asks me to 'press enter' Using Outlook 8
A Relocate Search Bar in Outlook Using Outlook 2
A Search folder and move the email Outlook VBA and Custom Forms 0
farrissf Outlook 2016 Optimizing Email Searches in Outlook 2016: Seeking Insights on Quick Search vs Advanced Search Features Using Outlook 0
C Advanced search terms for "Outlook Data File" Using Outlook 1
T How to find or display the sub-folder name for an Archive Search Using Outlook 10
P Search folder: all emails sent to or from a domain Using Outlook 1
T Outlook365 search item listed as "potential matches" can't be opened Using Outlook 0
Victor_50 Outlook 2019 Jump to folder from search folder Outlook VBA and Custom Forms 0
E Outlook 365 Save Selected Email Message as .msg File - oMail.Delete not working when SEARCH Outlook VBA and Custom Forms 0
Witzker Outlook 2019 Macro GoTo user defined search folder Outlook VBA and Custom Forms 6
J Outlook search bar in Office 2021 Professional Using Outlook 1
T Outlook 365 Search Box reverting to old location Using Outlook 2
P Outlook 2013 search no longer works Using Outlook 2
C How to search for items in Outbox with multiple accounts? Using Outlook 20
J search doesn't find anything Using Outlook 1
kkqq1122 How would I add Search for attachment name Outlook VBA and Custom Forms 3
A Any way to force sort by/group by on search results with VBA? Outlook VBA and Custom Forms 1
B Search and Find Email by Folder Name Outlook VBA and Custom Forms 2
C Search not accurate, but not indexing Using Outlook 9
J How do you disable address search box when typing @ in body of email? Using Outlook 0
H Outlook 2019 intermittent search results Using Outlook 0
D Create advanced search (email) via VBA with LONG QUERY (>1024 char) Outlook VBA and Custom Forms 2
D Advanced e-Mail search on from/to contact group only searches for first 20 contacts in group Using Outlook 0
mll persistently customise columns in outlook advanced search Using Outlook 3
S vba outlook search string with special characters Outlook VBA and Custom Forms 1
S VBA search string with special characters Outlook VBA and Custom Forms 1
H Search Email Header for Content Type Outlook VBA and Custom Forms 1
P Posts in Folder No Longer Group by Conversation Column After Search Using Outlook 0
O Advanced search - can I use booleans Using Outlook 3
Y Filter unread emails in a search folder vba help Outlook VBA and Custom Forms 0
M Reverting The Outlook Search Box Location (or other undesired additions) Using Outlook 1
M Something went wrong and your search couldn't be completed Using Outlook 1
M Disable Contact Card Results when using "Search People" in Outlook Ribbon Using Outlook 7
J outlook 2007 doesn't let me choose which .pst to search Using Outlook 2
P outlook 2008 search box criteria couldn't be saved Using Outlook 2
C Outlook with Office365 - search across account, by date rate, in multiple folders - how? Using Outlook 2
D Custom Search Folders not refreshing/updating automatically Using Outlook 0
L New Location for the Search Bar Using Outlook 6
T How can you include Junk Email in Search Results like you can include Deleted Items? Using Outlook 3
J Outlook 2016 After a search in all mailboxes, where is each message that was found? Using Outlook 6
King Mustard Sort search groups by amount of items? Using Outlook 1
V Outlook 2016 will not move emails in search results Using Outlook 4

Similar threads

Back
Top