Kamyar
Kamyar

Reputation: 18797

Improving SQL Server database performance

I'm designing a reporting solution which uses SQL Server 2008 R2 as its backend database. The database schema is fairly simple. One table named Calls with CallId PK and one table named Events which has a foreign key association to calls with fk_CallId.

Each call has at least 6-7 events and there are 3000+ calls per day logged in db.
I'm a bit worried about how much effect this relation has on the queries' performance. If using inner join on a table with more than a couple of million rows (Events) is going to degrade performance very much, I could add a CallerId field to Events table a do not use joins (Although I will lose some other information on related Calls table).

In general, Is there any other step I can do to make sure the performance is ok?

Upvotes: 3

Views: 554

Answers (1)

Oleg Dok
Oleg Dok

Reputation: 21756

It depends on - how wide your tables are.

Actually - 3000 calls per day is not such a big data, at least for first ten years 8-)

but

if you always want to query all your data - something is wrong by design of application and improving performance in one particular place will not cure all the cons of wrong design.

The steps are:

  • check proper indexing (at least index on joined (and queried) columns
  • check your queries - do they bring to you data you want? the only data you want?

Upvotes: 3

Related Questions