do I need more indexes?

J

jmoore

After reading several posts here I have changed all of the lookup fields to
text fields in my table and deleted the relationships to the lookup tables.
I came to this area looking for a solution to slow response time. Again,
after reading several posts, I suspect it is due to the database design, but
it is what I have to work with.

Other than the lookup tables, there are only two related tables. If it
would be helpful, I can remove the lookup tables.
tSample (with the major fields listed below)
Key (primary key)
CNTYNAME
ID
Strata
Sample

tReview
ReviewKey (PK)
Key (FK)
A1
A2. . .
B1
B2. . .(in total there are over 60 number fields and 50 memo fields).

I read that creating indexes will increase response time. Will creating a
unique index from two fields in addition to the PK increase response time
(e.g., in tSample, a unique key comprised of CNTYNAME and ID)?

All was going well for the individual county reports, but I had problems
when an aggregate report was needed at year end. I was able to solve the
problem with advice obtained through this site. First, I created a union
query (qUnion); a crosstab query based on the union query (qUnionCrosstab);
and combined qUnionCrosstab and qReviewCountCrosstab into one query
(qCrosstabsCombined) for the aggregate report. The aggregate report is
extremely slow to open and painfully slow in design view.

Will it help to create additional indexes? If not, I can live with this
report as it is since I only need it once a year. I don’t know how to change
the design and transfer the data.

Thanks for any tips for improvement. I am very grateful for the great
information I have found here.
 
J

Jerry Whittle

I doubt that indexes will help much. How many records are we talking about?
If less than a thousand, indexes usually don't help anyway.

In fact you might have too many indexes already. Access automatically
creates indexes for fields with ID; key; code; num as part of the name. I
noticed that you have ReviewKey (PK) and Key (PK). If you check you might
find that there are at least 2 indexes on these fields: one for the PK and
the other by just having Key in the field name.
 
J

Jeff Boyce

Define "response time" ...

If you mean "how long it takes to add a new record in", then yes, when
Access has to add the new data AND an index, it takes longer. If you don't
have a high-volume data-entry business, you won't notice how much longer.

If you mean "how long it takes to retrieve data via a query", then no, a
properly-indexed set of tables will generate results faster.

A general rule of thumb (i.e., not set in stone) is to index any field that
is used as a selection criterion, as a join, or as a sort. Of course, if
you only have two possible values (e.g., Male, Female), the index really
won't help.

Slow to open is one thing ... slow to open in design view may be something
else. Do you have a printer "assigned" to the report?

Regards

Jeff Boyce
Microsoft Office/Access MVP
 
J

jmoore

There are currently 1246 records. And it will be double that within a year.

tSample had an index only for Key - the PK. I added a muli-field index
using CNTYNAMe and ID.

tReview has an index for ReviewKey - the PK and for Key - the FK.

I added the multi-field key because I read that any field that is used to
sort should have an index. Should I remove it?

Thanks much.
 
J

jmoore

Some of my queries are slow to open. The object that takes the longest time
just to open is the aggregate report. And when trying to make changes in
design view, there is a long delay after clicking on a control and when it
becomes active. The same with trying to move a control - very, very slow. I
don't know about adding a new record yet as I have to make some changes
before the next batch of information comes through and I thought I would try
to address this problem at the same time.

RE: your general rule of thumb about indexes is what I read (sorry, don't
remember which post) and is why I added another index. However, it does not
appear to help. The printer is set to my default printer.

Thanks again for all help.
 
J

Jeff Boyce

Consider posting the SQL statement of your slow query(ies). Post them to
the .queries newsgroup for maximum exposure.

Regards

Jeff Boyce
Microsoft Office/Access MVP
 
S

Steve

You can significantly improve performance by a redesign of your tables.
Without knowing anything about your database, I can tell you the design of
tReview is very wrong just looking at what you posted. Your query(s) have
got to be very complex hust to overcome the misdesign of tReview! Please
give a detailed description of what you are trying to do in your database,
and I will be very glad to give you a suggested redesign of your tables.

Steve
(e-mail address removed)
 
J

jmoore

Thanks for your offer. I posted the SQL for the queries in the queries
group. Each field in tReview is a rating of that criteria for a sample set of
cases from tSample. There are a large number of cases in tSample that will
not be used. Each case in tReview is a row, and contains all of the
information for the complete review. A report for each county with a summary
of their cases is produced during the year. These work fine. At the end of
the year, an annual aggregate report is needed. It gives the information we
need, but is very slow. I realize this is designed like a spreadsheet, but
this has been in use for a year and I don't know how to change it, or
transfer all of the data to a new design. I hope this is enough detail. I
appreciate any advice you have.
 
J

Jeff Boyce

Before taking Steve up on his offer, you might want to google him and his
history in these newsgroups.

Remember, not all advice you receive is of equal quality/applicability.

Good luck!

Regards

Jeff Boyce
Microsoft Office/Access MVP
 
S

Steve

<<I think the best method would be to restructure your data - something that
is implied by your use of the
union query to normalize the data you have. John Spencer Queries
newsgroup >>

John concurs with what I am trying to tell you!!

You did not post qSampleReview in the queries newsgroup.

If I am to help you, once again, please give a detailed description of what
you are trying to do in your database, What are ID, Strata and Sample in
tSample? What are the other fields in tSample? What are ReviewKey, Key,
A1,A2,B1,B2 in tReview? Are there other fields in tReview?

And by the way, if you are going to trust what Jeff Boyce is telling you
when he said nothing about the repetitive fields in tReview, then ignore all
the above because I won't help you!!!

Steve
 
J

John... Visio MVP

Steve said:
And by the way, if you are going to trust what Jeff Boyce is telling you
when he said nothing about the repetitive fields in tReview, then ignore
all the above because I won't help you!!!

Steve


oh please make it so. Since your intent has always been only to help
yourself, that is not a big promise.

John... Visio MVP
 
S

Steve

Is this within the code of conduct for an MVP? I think not. You ought to be
proud of yourself! You cost the OP a solution to his problem. BTW, did you
even bother to look at the OP's post in the queries newsgroup?

Steve
 
J

John... Visio MVP

The truth hurts doesn't it stevie?

Nothing wrong with what Jeff posted. It was a basic caveat emptor.

John... Visio MVP
 
B

BruceM

Your history puts people on guard. You did not specifically try to get
money from the OP *now*, but your past trolling for work leads to the
suspicion that your offer to redesign will morph into a solicitation for
payment.
 
J

Jeff Boyce

Steve

Sorry if you took umbrage at my suggestion.

I merely reminded the poster that not everyone's advice is of equal quality.
I would thing the code of conduct governing MVPs would encourage thoughtful
and informed consideration.

But as long as we're on the topic you raised, code of conduct, how do you
justify ignoring the newsgroup etiquette that precludes folks from
soliciting paid work?

Jeff
 
J

Jeff Boyce

correction ... "I would think ..."

Jeff

Jeff Boyce said:
Steve

Sorry if you took umbrage at my suggestion.

I merely reminded the poster that not everyone's advice is of equal
quality. I would thing the code of conduct governing MVPs would encourage
thoughtful and informed consideration.

But as long as we're on the topic you raised, code of conduct, how do you
justify ignoring the newsgroup etiquette that precludes folks from
soliciting paid work?

Jeff
 
S

Steve

<<the newsgroup etiquette that precludes folks from soliciting paid work?>>

Where specifically is this?
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Similar Threads

do I need more indexes - followup 1
union query 4
Appending tables 0
Too Many Indexes Error 3
sorting order 2
Indexes and referential integrity 8
union query for report 4
Too Many Indexes Bug 5

Top