I am creating a confirming solution which utilizes SQL Server 2008 R2 since it's after sales database. The database schema is rather simple. One table named Calls with CallId PK and something table named Events with a foreign key association to calls with fk_CallId.

Each call has a minimum of 6-7 occasions and you will find 3000+ calls daily drenched in db.
I am a bit concerned about just how much effect this relation is wearing the queries' performance. If using inner join on the table using more than a few million rows (Events) will degrade performance greatly, I possibly could give a CallerId area to Events table a don't use joins (Although I'll lose another info on related Calls table).

Generally, Can there be every other step I'm able to do in order to make certain the performance is alright?

It is dependent on - how wide your tables are.

Really - 3000 calls daily isn't this type of large data, a minimum of for first 10 years 8-)

but

should you always wish to query all of your data - something is wrong by design of application and enhancing performance in a single particular place won't remedy the cons of wrong design.

The steps are:

  • check proper indexing (a minimum of index on became a member of (and queried) posts
  • look at your queries - will they provide you data you would like? the only real data you would like?