[Okta Webinar] Learn how to a build a cloud-first strategyRegister Now

  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 330
  • Last Modified:

SQL Performance issue

I have 2 environment say A &  B. A  is the testing phrase 1 environment and B is testing phrase 2 env.

In A env I have database which holds more data than env B. When I run a select query on Env A it get's executed fast(say 40 seconds.)Same query executing on env B takes 50 minutes.

Result of this query doesn't return any records.It will be 0.
The select query has 15 joins.No aggregation/calculation is performed in this query. It's just selecting a columns.

1.Below are my analysis details:
I saw the execution plan on both ENV.
In A estimated number & actual number of rows is 0 
In B estimated number = ~76 millions & actual number of rows is 0 

In env a= ~0.99 for all 15 tables
In env b = ~ 14 for all 15 tables

3.Same query executing without where clause in B is taking just 1 minute.

Should I update the statistics? 

Open in new window

1 Solution
Racim BOUDJAKDJIDatabase Architect - Dba - Data ScientistCommented:
Please post the show plan.  It looks you are missing an index.  Posting the query would help.  updating statistics and index rebuild can not hurt.  Just make sure you do it at the right time.
Sorry,Right now I in home and couldn't help to post the plan.

But I confirm that,both has same indexes I missed to mention this point while posting.

Just trying to understand why estimated rows is high for env B.
Anthony PerkinsCommented:
Just trying to understand why estimated rows is high for env B.
When was the last time statistics were updated?
Veeam and MySQL: How to Perform Backup & Recovery

MySQL and the MariaDB variant are among the most used databases in Linux environments, and many critical applications support their data on them. Watch this recorded webinar to find out how Veeam Backup & Replication allows you to get consistent backups of MySQL databases.

Saurabh BhadauriaCommented:
Two things you can try to updating your statistics ..
Another optimize your query , it may help as the same can behave differently in different environment as per data volume...
And chk out your indexes...
My concerns here, env having large number of records executes fast ( less than minute) and environment having less records taking long time (morethan 50 minutes). Both output are the same,both have same number of indexes.

I have just like know why the estimated number of records is high(~75 million) in one and 0 in another.So like to understand what is happening inside the database engine.
Anthony PerkinsCommented:
I have just like know why the estimated number of records is high(~75 million) in one and 0 in another.
Let's try that again, as you may have overlooked my comment:
When was the last time statistics were updated?

Let me know if you do not understand the relevance of the question and why it may address your specific question.
>>Should I update the statistics? <<

Running sp_updatestats fixed the issue.

Featured Post

What is SQL Server and how does it work?

The purpose of this paper is to provide you background on SQL Server. It’s your self-study guide for learning fundamentals. It includes both the history of SQL and its technical basics. Concepts and definitions will form the solid foundation of your future DBA expertise.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now