Infrastructure at your Service

Tag

Performance Archives - Page 6 of 11 - Blog dbi services

Microsoft Team

Don’t use the default database file autogrow settings !

By | Application integration & Middleware | No Comments

I often noticed default values for database file autogrow settings during my audits. You don’t trust me? Let me talk about a funny story about an incredible (and extreme) situation that concerns a transaction log file and its default settings. First of all, during my intervention, my customer complained of some performance issues, so I decided to take a look at different areas of its instance. I found some interesting records inside the SQL Server…

Read More
Oracle Team

Does the block size matter?

By | Database management, Oracle | 23 Comments

By Franck Pachot . The default block size is 8k in Oracle. This is the most common. Sometimes, people create the database with 16k block size for datawarehouses. You can also find some 32k block size, but less common which means more bugs. In our tuning workshop we recommend the default, 8k, for most of the cases. I’ll show here 3 tests to show what different block size change for full table scan and index…

Read More
Oracle Team

Can you have pending system statistics?

By | Database management, Oracle | One Comment

By Franck Pachot . Your system statistics seems to be wrong and you want to gather or set more relevant ones. But you don’t want to see all your application execution plans changing between nested loops and hash joins. For object statistics, we can gather statistics in a pending mode, test them in a few sessions, and publish them when we are ok with them. But for system statistics, can you do the same? It…

Read More
Oracle Team

Oracle memory advisors: how relevant ?

By | Database management, Oracle | 2 Comments

By Franck Pachot . Do you look at memory advisors? I usually don’t but I still show them during the performance tuning workshop because there is no easy way to get an idea about memory sizing. This morning, while giving the training, I’ve shown on our workshop environment what the problem is: they are based on statistics cumulated from instance startup, which can cover months of heterogeneous activity, and then the result is probably meaningless….

Read More
Oracle Team

How to disable a SQL Plan Directive permanently

By | Database management, Oracle | 4 Comments

By Franck Pachot . In 12c you will see a lot of SQL Plan Directives. Some are useful to get better execution plans, but some will trigger too much Adaptive Dynamic Sampling and that can become a big overhead, especially in Standard Edition. Then you don’t want to drop them – or they will reappear. You can disable them, but what will happen after the retention weeks? Let’s test it. Disabled directive A directive has…

Read More
Microsoft Team

SQL Server 2016 CTP2 : first thoughts about tempdb database

By | Development & Performance | No Comments

In my first blog about SQL Server 2016, I noticed during the SQL Server installation process that we are able to configure the number of files for tempdb. This is surely a great improvement but at this point, you may think that the configuration of the tempdb database is finished but in fact you’re wrong. Let me say why. First let’s have a look at the tempdb files configuration after installing SQL Server. use tempdb;…

Read More
Oracle Team

DBA_SQL_PLAN_DIRECTIVE.LAST_USED

By | Database management, Oracle | No Comments

By Franck Pachot . If you have read Matching SQL Plan Directives and queries using it then you know how to use the ‘+metrics’ format of dbms_xplan. 21:49:54 SQL> explain plan for select distinct * from DEMO_TABLE where a=0 and b=0 and c=0 and d=0; Explained. 21:50:01 SQL> select * from table(dbms_xplan.display(format=>’basic +rows +note +metrics’)); PLAN_TABLE_OUTPUT ———————————————————————————- Plan hash value: 3823449216 ————————————————- | Id | Operation | Name | Rows | ————————————————- | 0 |…

Read More
Oracle Team

Variations on 1M insert (6): CPU Flame Graph

By | Database management, Oracle | No Comments

By Franck Pachot . If you followed the 1M rows insert variations, you have seen how something simple brought me into an investigation with the latest tools available to see where the time is spent. When the time is CPU time, there is no wait event to get the detail of DB Time. I’ve used perf events in the previous post and I’ll now visualize them with CPU Flame Graph. My goal is to understand why…

Read More
Oracle Team

Matching SQL Plan Directives and extended stats

By | Database management, Oracle | One Comment

By Franck Pachot . This year is the year of migration to 12c. Each Oracle version had its CBO feature that make it challenging. The most famous was the bind variable peeking in 9iR2. Cardinality feedback in 11g also came with some surprises. 12c comes with SPD in any edition, which is accompanied by Adaptive Dynamic Sampling. If you want to know more about them, next date is in Switzerland:http://www.soug.ch/events/sig-150521-agenda.html SQL Plan Directives in USABLE/MISSING_STATS…

Read More
Microsoft Team

Variations on 1M insert (2): write commit

By | Development & Performance | No Comments

In this blog post, I will try to do the same than my colleagues about Oracle and for PostgreSQL. As a reminder, we’ve seen in my previous blog post that SQL Server is designed to commit transactions implicitly by default and inserting 1M rows in this case may have a huge impact on the transaction log throughput. Each transaction is synchronously committed to the transaction log. In this blog post, we’ll see a variation of…

Read More