SlideShare una empresa de Scribd logo
1 de 40
Confidential, Dynatrace, LLC
Asad Ali
Director, Product Specialist
@AsadThoughts
Dynatrace
How to Troubleshoot
& Optimize Database Query
Performance for Your Application
Let the blame game start!
Web Server Application Server Database
DEV Team DBA Team
Blame the database for
all performance issues
Blame the SW/HW or
system administrators
Network?
Database Heavy:
66.51% (40.27s)
Time Spent in SQL Execs
Excessive SQL: 24889!
Calls to Database
Database Heavy:
66.51% (40.27s)
Time Spent in SQL Execs
Database
Performance
hotspots
Application Design
DB Design DB Queries
Server/Infrastructure
Database Performance Hotspots
Application Design Database Infrastructure
Application
of database
performance issues
can be solved by developers70%
Database Performance Hotspots
• Lack of use of bind values
• Too many SQL statements per user action
• Database server overloaded
• DB connection pool monitoring
Example 1:
performance tuning by
using bind variables
Oracle SQL Cache
<?php
$db = new PDO('oci:dbname=sid', 'username', 'password');
$data = Array();
$data[] = $db->query("select * from country where code = 'AT'");
$data[] = $db->query("select * from country where code = 'AU'");
$data[] = $db->query("select * from country where code = 'NZ'");
$data[] = $db->query("select * from country where code = 'ES'");
?>
Query Plan Evaluation
MSSQL Cache
MSSQL Cache
Little Bobby Tables
addStudentInfo(String lname, String fname) {
String query = “insert into Student(last_name, first_name)
values (‘”+lname + ”’, ‘” + fname + “’)”;
}
Normal Operation:
First Name: Asad
Last Name : Ali
insert into Student (‘Ali’, ‘Asad’)
Malicious Operation:
First Name: Asad’); Drop table Student;
Last Name : Ali
insert into Student (‘Ali’, ‘Asad’); Drop table
Student
Little Bobby Tables
Oracle SQL Cache
<?php
$db = new PDO('oci:dbname=sid', 'username', 'password');
$data = Array();
$ps = $db->prepare("select * from country where code = :code");
$data[] = $ps->execute(array("code" => "AT"));
$data[] = $ps->execute(array("code" => "AU"));
$data[] = $ps->execute(array("code" => "NZ"));
$data[] = $ps->execute(array("code" => "ES"));
?>
Example 2:
application performing
too many SQL statements
Excessive SQL: 24889!
Calls to Database
Database Heavy:
66.51% (40.27s)
Time Spent in SQL Execs
Why are there so many SQL statements?
$schools = new SchoolEntities();
foreach ($schools as $school) {
foreach ($school->departments as $department) {
foreach ($department->courses as $course) {
echo $department->name . ": " . $course->title);
}
}
}
N+1 problem
• 10 schools
• 20 departments per school
• 50 courses per department
=> 10 x 20 x 50 = 10001 single database statements !!!
Retrieving too many records
$schools = new SchoolEntities();
foreach ($schools->departments as $department) {
foreach ($department->courses as $course) {
if ($course->category == "SQL" &&
$course->level == "expert")) {
echo $department->name . ": " . $course->title);
}
}
}
=> 3 records, still 10001 queries
Solution: use a JOIN query with a WHERE clause
$rows = $db->query ("
select department.name as department, course.title as course
from school
join department on school_id = school.id
join course on department_id = department.id
where course.category = 'SQL' and course.level = 'expert'
");
foreach ($rows as $row) {
echo $department . ": " . $course);
}
=> ONE database statement !!!
Example 3:
overloaded database server
Major database performance problem
Example 4:
database connection pool settings
Database Connection Pool
Database Connection Pool
Database Connection Pool
Auto DB Pattern Detection
Live Demo
Q & A
@AsadThoughts
Performance Tuning – best practices
• Use bind variables to leverage SQL caching
• Use join queries to avoid N+1 problems
• Avoid index killers in queries
• Use stored procedures for complex functionality
• Leverage connection pooling
• Watch for other processes / application on your database
http://apmblog.dynatrace.com/2016/05/23/improve-oracle-database-performance-using-bind-variables/
https://www.infoq.com/articles/Diagnose-Microservice-Performance-Anti-Patterns
How to Troubleshoot  & Optimize Database Query Performance for Your Application

Más contenido relacionado

La actualidad más candente

Zero Downtime Deployment
Zero Downtime DeploymentZero Downtime Deployment
Zero Downtime DeploymentJoel Dickson
 
Ruby performance - The low hanging fruit
Ruby performance - The low hanging fruitRuby performance - The low hanging fruit
Ruby performance - The low hanging fruitBruce Werdschinski
 
Building An Application For Windows Azure And Sql Azure
Building An Application For Windows Azure And Sql AzureBuilding An Application For Windows Azure And Sql Azure
Building An Application For Windows Azure And Sql AzureEric Nelson
 
Windows Server AppFabric Caching - What it is & when you should use it?
Windows Server AppFabric Caching - What it is & when you should use it?Windows Server AppFabric Caching - What it is & when you should use it?
Windows Server AppFabric Caching - What it is & when you should use it?Robert MacLean
 
A Look at the Performance of SAP UI Technologies - UXP212 at SAP TechEd && d-...
A Look at the Performance of SAP UI Technologies - UXP212 at SAP TechEd && d-...A Look at the Performance of SAP UI Technologies - UXP212 at SAP TechEd && d-...
A Look at the Performance of SAP UI Technologies - UXP212 at SAP TechEd && d-...Sascha Wenninger
 
Building better SQL Server Databases
Building better SQL Server DatabasesBuilding better SQL Server Databases
Building better SQL Server DatabasesColdFusionConference
 
Site speed Server Optimization
Site speed Server OptimizationSite speed Server Optimization
Site speed Server OptimizationShelly Fagin
 
[@IndeedEng] Boxcar: A self-balancing distributed services protocol
[@IndeedEng] Boxcar: A self-balancing distributed services protocol [@IndeedEng] Boxcar: A self-balancing distributed services protocol
[@IndeedEng] Boxcar: A self-balancing distributed services protocol indeedeng
 
Microsoft Windows Server AppFabric
Microsoft Windows Server AppFabricMicrosoft Windows Server AppFabric
Microsoft Windows Server AppFabricMark Ginnebaugh
 
Asynchronous Apex Salesforce World Tour Paris 2015
Asynchronous Apex Salesforce World Tour Paris 2015Asynchronous Apex Salesforce World Tour Paris 2015
Asynchronous Apex Salesforce World Tour Paris 2015Samuel De Rycke
 
How to Do a Performance Audit of Your .NET Website
How to Do a Performance Audit of Your .NET WebsiteHow to Do a Performance Audit of Your .NET Website
How to Do a Performance Audit of Your .NET WebsiteDNN
 
2011 npo you have too many servers peter campbell
2011 npo you have too many servers   peter campbell2011 npo you have too many servers   peter campbell
2011 npo you have too many servers peter campbellPeter Campbell
 
[@IndeedEng] Redundant Array of Inexpensive Datacenters
[@IndeedEng] Redundant Array of Inexpensive Datacenters[@IndeedEng] Redundant Array of Inexpensive Datacenters
[@IndeedEng] Redundant Array of Inexpensive Datacentersindeedeng
 
Living on the Edge: Elevating your SEO toolkit to the CDN
Living on the Edge: Elevating your SEO toolkit to the CDNLiving on the Edge: Elevating your SEO toolkit to the CDN
Living on the Edge: Elevating your SEO toolkit to the CDNNils De Moor
 
MongoDB World 2019: Why NBCUniversal Migrated to MongoDB Atlas
MongoDB World 2019: Why NBCUniversal Migrated to MongoDB AtlasMongoDB World 2019: Why NBCUniversal Migrated to MongoDB Atlas
MongoDB World 2019: Why NBCUniversal Migrated to MongoDB AtlasMongoDB
 
SharePoint 2013 Performance Enhancements
SharePoint 2013 Performance EnhancementsSharePoint 2013 Performance Enhancements
SharePoint 2013 Performance EnhancementsEric Shupps
 
SPCA2013 - Developing SharePoint 2013 Apps with Visual Studio 2012
SPCA2013 - Developing SharePoint 2013 Apps with Visual Studio 2012SPCA2013 - Developing SharePoint 2013 Apps with Visual Studio 2012
SPCA2013 - Developing SharePoint 2013 Apps with Visual Studio 2012NCCOMMS
 
Leveraging JavaScript Promises and the Bulk API
Leveraging JavaScript Promises and the Bulk APILeveraging JavaScript Promises and the Bulk API
Leveraging JavaScript Promises and the Bulk APISalesforce Developers
 

La actualidad más candente (20)

Zero Downtime Deployment
Zero Downtime DeploymentZero Downtime Deployment
Zero Downtime Deployment
 
Ruby performance - The low hanging fruit
Ruby performance - The low hanging fruitRuby performance - The low hanging fruit
Ruby performance - The low hanging fruit
 
Building An Application For Windows Azure And Sql Azure
Building An Application For Windows Azure And Sql AzureBuilding An Application For Windows Azure And Sql Azure
Building An Application For Windows Azure And Sql Azure
 
Windows Server AppFabric Caching - What it is & when you should use it?
Windows Server AppFabric Caching - What it is & when you should use it?Windows Server AppFabric Caching - What it is & when you should use it?
Windows Server AppFabric Caching - What it is & when you should use it?
 
A Look at the Performance of SAP UI Technologies - UXP212 at SAP TechEd && d-...
A Look at the Performance of SAP UI Technologies - UXP212 at SAP TechEd && d-...A Look at the Performance of SAP UI Technologies - UXP212 at SAP TechEd && d-...
A Look at the Performance of SAP UI Technologies - UXP212 at SAP TechEd && d-...
 
Building better SQL Server Databases
Building better SQL Server DatabasesBuilding better SQL Server Databases
Building better SQL Server Databases
 
React on rails v4
React on rails v4React on rails v4
React on rails v4
 
Site speed Server Optimization
Site speed Server OptimizationSite speed Server Optimization
Site speed Server Optimization
 
[@IndeedEng] Boxcar: A self-balancing distributed services protocol
[@IndeedEng] Boxcar: A self-balancing distributed services protocol [@IndeedEng] Boxcar: A self-balancing distributed services protocol
[@IndeedEng] Boxcar: A self-balancing distributed services protocol
 
Microsoft Windows Server AppFabric
Microsoft Windows Server AppFabricMicrosoft Windows Server AppFabric
Microsoft Windows Server AppFabric
 
Asynchronous Apex Salesforce World Tour Paris 2015
Asynchronous Apex Salesforce World Tour Paris 2015Asynchronous Apex Salesforce World Tour Paris 2015
Asynchronous Apex Salesforce World Tour Paris 2015
 
How to Do a Performance Audit of Your .NET Website
How to Do a Performance Audit of Your .NET WebsiteHow to Do a Performance Audit of Your .NET Website
How to Do a Performance Audit of Your .NET Website
 
2011 npo you have too many servers peter campbell
2011 npo you have too many servers   peter campbell2011 npo you have too many servers   peter campbell
2011 npo you have too many servers peter campbell
 
[@IndeedEng] Redundant Array of Inexpensive Datacenters
[@IndeedEng] Redundant Array of Inexpensive Datacenters[@IndeedEng] Redundant Array of Inexpensive Datacenters
[@IndeedEng] Redundant Array of Inexpensive Datacenters
 
Living on the Edge: Elevating your SEO toolkit to the CDN
Living on the Edge: Elevating your SEO toolkit to the CDNLiving on the Edge: Elevating your SEO toolkit to the CDN
Living on the Edge: Elevating your SEO toolkit to the CDN
 
MongoDB World 2019: Why NBCUniversal Migrated to MongoDB Atlas
MongoDB World 2019: Why NBCUniversal Migrated to MongoDB AtlasMongoDB World 2019: Why NBCUniversal Migrated to MongoDB Atlas
MongoDB World 2019: Why NBCUniversal Migrated to MongoDB Atlas
 
SharePoint 2013 Performance Enhancements
SharePoint 2013 Performance EnhancementsSharePoint 2013 Performance Enhancements
SharePoint 2013 Performance Enhancements
 
App fabric introduction
App fabric introductionApp fabric introduction
App fabric introduction
 
SPCA2013 - Developing SharePoint 2013 Apps with Visual Studio 2012
SPCA2013 - Developing SharePoint 2013 Apps with Visual Studio 2012SPCA2013 - Developing SharePoint 2013 Apps with Visual Studio 2012
SPCA2013 - Developing SharePoint 2013 Apps with Visual Studio 2012
 
Leveraging JavaScript Promises and the Bulk API
Leveraging JavaScript Promises and the Bulk APILeveraging JavaScript Promises and the Bulk API
Leveraging JavaScript Promises and the Bulk API
 

Destacado

Troubleshooting ASP.NET and IIS Scalability Hotspots
Troubleshooting ASP.NET and IIS Scalability HotspotsTroubleshooting ASP.NET and IIS Scalability Hotspots
Troubleshooting ASP.NET and IIS Scalability HotspotsDynatrace
 
Continuous Performance Testing and Monitoring in Agile Development
Continuous Performance Testing and Monitoring in Agile DevelopmentContinuous Performance Testing and Monitoring in Agile Development
Continuous Performance Testing and Monitoring in Agile DevelopmentDynatrace
 
Sharing with Slideshare
Sharing with SlideshareSharing with Slideshare
Sharing with SlideshareTechsailor
 
Kritische app performance erfolgreich optimieren mit Bison
Kritische app performance erfolgreich optimieren mit BisonKritische app performance erfolgreich optimieren mit Bison
Kritische app performance erfolgreich optimieren mit BisonDynatrace
 
Best of the Web 2015 Awards
Best of the Web 2015 AwardsBest of the Web 2015 Awards
Best of the Web 2015 AwardsDynatrace
 
A Tale of Two Pipelines: To DevOps or Not To DevOps
A Tale of Two Pipelines:  To DevOps or Not To DevOpsA Tale of Two Pipelines:  To DevOps or Not To DevOps
A Tale of Two Pipelines: To DevOps or Not To DevOpsDynatrace
 
3 Tips to Deliver Fast Performance Across Mobile Web
3 Tips to Deliver Fast Performance Across Mobile Web3 Tips to Deliver Fast Performance Across Mobile Web
3 Tips to Deliver Fast Performance Across Mobile WebDynatrace
 
Endress + Hauser: Echtzeit Performance Monitoring erfolgreich umgesetzt
Endress + Hauser: Echtzeit Performance Monitoring erfolgreich umgesetzt Endress + Hauser: Echtzeit Performance Monitoring erfolgreich umgesetzt
Endress + Hauser: Echtzeit Performance Monitoring erfolgreich umgesetzt Dynatrace
 
The Digital Experience Report: Best of the Web 2016
The Digital Experience Report: Best of the Web 2016The Digital Experience Report: Best of the Web 2016
The Digital Experience Report: Best of the Web 2016Dynatrace
 
What the smartest brands know about CX ... and what they still aren't doing a...
What the smartest brands know about CX ... and what they still aren't doing a...What the smartest brands know about CX ... and what they still aren't doing a...
What the smartest brands know about CX ... and what they still aren't doing a...Dynatrace
 
Infrastructure Automation How to Use Chef For DevOps Success
Infrastructure Automation How to Use Chef For DevOps SuccessInfrastructure Automation How to Use Chef For DevOps Success
Infrastructure Automation How to Use Chef For DevOps SuccessDynatrace
 
6 ways DevOps helped PrepSportswear move from monolith to microservices
6 ways DevOps helped PrepSportswear move from monolith to microservices6 ways DevOps helped PrepSportswear move from monolith to microservices
6 ways DevOps helped PrepSportswear move from monolith to microservicesDynatrace
 
Why Everyone Needs DevOps Now - Gene Kim
Why Everyone Needs DevOps Now - Gene KimWhy Everyone Needs DevOps Now - Gene Kim
Why Everyone Needs DevOps Now - Gene KimDynatrace
 
From 0 to DevOps in 80 Days [Webinar Replay]
From 0 to DevOps in 80 Days [Webinar Replay]From 0 to DevOps in 80 Days [Webinar Replay]
From 0 to DevOps in 80 Days [Webinar Replay]Dynatrace
 
Metrics-Driven Devops: Delivering High Quality Software Faster!
Metrics-Driven Devops: Delivering High Quality Software Faster! Metrics-Driven Devops: Delivering High Quality Software Faster!
Metrics-Driven Devops: Delivering High Quality Software Faster! Dynatrace
 
5 Steps to Building a Mature DevOps Organization with Sherwin-Williams
5 Steps to Building a Mature DevOps Organization with Sherwin-Williams5 Steps to Building a Mature DevOps Organization with Sherwin-Williams
5 Steps to Building a Mature DevOps Organization with Sherwin-WilliamsDynatrace
 
Sprinting for Success: Digital Transformation through Agile and DevOps
Sprinting for Success: Digital Transformation through Agile and DevOpsSprinting for Success: Digital Transformation through Agile and DevOps
Sprinting for Success: Digital Transformation through Agile and DevOpsDynatrace
 
Starting Your DevOps Journey – Practical Tips for Ops
Starting Your DevOps Journey – Practical Tips for OpsStarting Your DevOps Journey – Practical Tips for Ops
Starting Your DevOps Journey – Practical Tips for OpsDynatrace
 
Top Lessons Learned While Researching and Writing The DevOps Handbook
Top Lessons Learned While Researching and Writing The DevOps HandbookTop Lessons Learned While Researching and Writing The DevOps Handbook
Top Lessons Learned While Researching and Writing The DevOps HandbookDynatrace
 

Destacado (19)

Troubleshooting ASP.NET and IIS Scalability Hotspots
Troubleshooting ASP.NET and IIS Scalability HotspotsTroubleshooting ASP.NET and IIS Scalability Hotspots
Troubleshooting ASP.NET and IIS Scalability Hotspots
 
Continuous Performance Testing and Monitoring in Agile Development
Continuous Performance Testing and Monitoring in Agile DevelopmentContinuous Performance Testing and Monitoring in Agile Development
Continuous Performance Testing and Monitoring in Agile Development
 
Sharing with Slideshare
Sharing with SlideshareSharing with Slideshare
Sharing with Slideshare
 
Kritische app performance erfolgreich optimieren mit Bison
Kritische app performance erfolgreich optimieren mit BisonKritische app performance erfolgreich optimieren mit Bison
Kritische app performance erfolgreich optimieren mit Bison
 
Best of the Web 2015 Awards
Best of the Web 2015 AwardsBest of the Web 2015 Awards
Best of the Web 2015 Awards
 
A Tale of Two Pipelines: To DevOps or Not To DevOps
A Tale of Two Pipelines:  To DevOps or Not To DevOpsA Tale of Two Pipelines:  To DevOps or Not To DevOps
A Tale of Two Pipelines: To DevOps or Not To DevOps
 
3 Tips to Deliver Fast Performance Across Mobile Web
3 Tips to Deliver Fast Performance Across Mobile Web3 Tips to Deliver Fast Performance Across Mobile Web
3 Tips to Deliver Fast Performance Across Mobile Web
 
Endress + Hauser: Echtzeit Performance Monitoring erfolgreich umgesetzt
Endress + Hauser: Echtzeit Performance Monitoring erfolgreich umgesetzt Endress + Hauser: Echtzeit Performance Monitoring erfolgreich umgesetzt
Endress + Hauser: Echtzeit Performance Monitoring erfolgreich umgesetzt
 
The Digital Experience Report: Best of the Web 2016
The Digital Experience Report: Best of the Web 2016The Digital Experience Report: Best of the Web 2016
The Digital Experience Report: Best of the Web 2016
 
What the smartest brands know about CX ... and what they still aren't doing a...
What the smartest brands know about CX ... and what they still aren't doing a...What the smartest brands know about CX ... and what they still aren't doing a...
What the smartest brands know about CX ... and what they still aren't doing a...
 
Infrastructure Automation How to Use Chef For DevOps Success
Infrastructure Automation How to Use Chef For DevOps SuccessInfrastructure Automation How to Use Chef For DevOps Success
Infrastructure Automation How to Use Chef For DevOps Success
 
6 ways DevOps helped PrepSportswear move from monolith to microservices
6 ways DevOps helped PrepSportswear move from monolith to microservices6 ways DevOps helped PrepSportswear move from monolith to microservices
6 ways DevOps helped PrepSportswear move from monolith to microservices
 
Why Everyone Needs DevOps Now - Gene Kim
Why Everyone Needs DevOps Now - Gene KimWhy Everyone Needs DevOps Now - Gene Kim
Why Everyone Needs DevOps Now - Gene Kim
 
From 0 to DevOps in 80 Days [Webinar Replay]
From 0 to DevOps in 80 Days [Webinar Replay]From 0 to DevOps in 80 Days [Webinar Replay]
From 0 to DevOps in 80 Days [Webinar Replay]
 
Metrics-Driven Devops: Delivering High Quality Software Faster!
Metrics-Driven Devops: Delivering High Quality Software Faster! Metrics-Driven Devops: Delivering High Quality Software Faster!
Metrics-Driven Devops: Delivering High Quality Software Faster!
 
5 Steps to Building a Mature DevOps Organization with Sherwin-Williams
5 Steps to Building a Mature DevOps Organization with Sherwin-Williams5 Steps to Building a Mature DevOps Organization with Sherwin-Williams
5 Steps to Building a Mature DevOps Organization with Sherwin-Williams
 
Sprinting for Success: Digital Transformation through Agile and DevOps
Sprinting for Success: Digital Transformation through Agile and DevOpsSprinting for Success: Digital Transformation through Agile and DevOps
Sprinting for Success: Digital Transformation through Agile and DevOps
 
Starting Your DevOps Journey – Practical Tips for Ops
Starting Your DevOps Journey – Practical Tips for OpsStarting Your DevOps Journey – Practical Tips for Ops
Starting Your DevOps Journey – Practical Tips for Ops
 
Top Lessons Learned While Researching and Writing The DevOps Handbook
Top Lessons Learned While Researching and Writing The DevOps HandbookTop Lessons Learned While Researching and Writing The DevOps Handbook
Top Lessons Learned While Researching and Writing The DevOps Handbook
 

Similar a How to Troubleshoot & Optimize Database Query Performance for Your Application

Slow Database in your PHP stack? Don't blame the DBA!
Slow Database in your PHP stack? Don't blame the DBA!Slow Database in your PHP stack? Don't blame the DBA!
Slow Database in your PHP stack? Don't blame the DBA!Harald Zeitlhofer
 
High-Performance JDBC Voxxed Bucharest 2016
High-Performance JDBC Voxxed Bucharest 2016High-Performance JDBC Voxxed Bucharest 2016
High-Performance JDBC Voxxed Bucharest 2016Vlad Mihalcea
 
Testing database content with DBUnit. My experience.
Testing database content with DBUnit. My experience.Testing database content with DBUnit. My experience.
Testing database content with DBUnit. My experience.Serhii Kartashov
 
Designer's Favorite New Features in SQLServer
Designer's Favorite New Features in SQLServerDesigner's Favorite New Features in SQLServer
Designer's Favorite New Features in SQLServerKaren Lopez
 
Java OOP Programming language (Part 8) - Java Database JDBC
Java OOP Programming language (Part 8) - Java Database JDBCJava OOP Programming language (Part 8) - Java Database JDBC
Java OOP Programming language (Part 8) - Java Database JDBCOUM SAOKOSAL
 
Efficient working with Databases in LabVIEW - Sam Sharp (MediaMongrels Ltd) -...
Efficient working with Databases in LabVIEW - Sam Sharp (MediaMongrels Ltd) -...Efficient working with Databases in LabVIEW - Sam Sharp (MediaMongrels Ltd) -...
Efficient working with Databases in LabVIEW - Sam Sharp (MediaMongrels Ltd) -...MediaMongrels Ltd
 
Denver SQL Saturday The Next Frontier
Denver SQL Saturday The Next FrontierDenver SQL Saturday The Next Frontier
Denver SQL Saturday The Next FrontierKellyn Pot'Vin-Gorman
 
A Designer's Favourite Security and Privacy Features in SQL Server and Azure ...
A Designer's Favourite Security and Privacy Features in SQL Server and Azure ...A Designer's Favourite Security and Privacy Features in SQL Server and Azure ...
A Designer's Favourite Security and Privacy Features in SQL Server and Azure ...Karen Lopez
 
Introduction databases and MYSQL
Introduction databases and MYSQLIntroduction databases and MYSQL
Introduction databases and MYSQLNaeem Junejo
 
PHP mysql Introduction database
 PHP mysql  Introduction database PHP mysql  Introduction database
PHP mysql Introduction databaseMudasir Syed
 
Azure Data Lake Analytics Deep Dive
Azure Data Lake Analytics Deep DiveAzure Data Lake Analytics Deep Dive
Azure Data Lake Analytics Deep DiveIlyas F ☁☁☁
 
Developing on SQL Azure
Developing on SQL AzureDeveloping on SQL Azure
Developing on SQL AzureIke Ellis
 
OracleStore: A Highly Performant RawStore Implementation for Hive Metastore
OracleStore: A Highly Performant RawStore Implementation for Hive MetastoreOracleStore: A Highly Performant RawStore Implementation for Hive Metastore
OracleStore: A Highly Performant RawStore Implementation for Hive MetastoreDataWorks Summit
 

Similar a How to Troubleshoot & Optimize Database Query Performance for Your Application (20)

Slow Database in your PHP stack? Don't blame the DBA!
Slow Database in your PHP stack? Don't blame the DBA!Slow Database in your PHP stack? Don't blame the DBA!
Slow Database in your PHP stack? Don't blame the DBA!
 
PHP and databases
PHP and databasesPHP and databases
PHP and databases
 
High-Performance JDBC Voxxed Bucharest 2016
High-Performance JDBC Voxxed Bucharest 2016High-Performance JDBC Voxxed Bucharest 2016
High-Performance JDBC Voxxed Bucharest 2016
 
Testing database content with DBUnit. My experience.
Testing database content with DBUnit. My experience.Testing database content with DBUnit. My experience.
Testing database content with DBUnit. My experience.
 
Designer's Favorite New Features in SQLServer
Designer's Favorite New Features in SQLServerDesigner's Favorite New Features in SQLServer
Designer's Favorite New Features in SQLServer
 
Java OOP Programming language (Part 8) - Java Database JDBC
Java OOP Programming language (Part 8) - Java Database JDBCJava OOP Programming language (Part 8) - Java Database JDBC
Java OOP Programming language (Part 8) - Java Database JDBC
 
Efficient working with Databases in LabVIEW - Sam Sharp (MediaMongrels Ltd) -...
Efficient working with Databases in LabVIEW - Sam Sharp (MediaMongrels Ltd) -...Efficient working with Databases in LabVIEW - Sam Sharp (MediaMongrels Ltd) -...
Efficient working with Databases in LabVIEW - Sam Sharp (MediaMongrels Ltd) -...
 
Mutant Tests Too: The SQL
Mutant Tests Too: The SQLMutant Tests Too: The SQL
Mutant Tests Too: The SQL
 
Denver SQL Saturday The Next Frontier
Denver SQL Saturday The Next FrontierDenver SQL Saturday The Next Frontier
Denver SQL Saturday The Next Frontier
 
Copy Data Management for the DBA
Copy Data Management for the DBACopy Data Management for the DBA
Copy Data Management for the DBA
 
A Designer's Favourite Security and Privacy Features in SQL Server and Azure ...
A Designer's Favourite Security and Privacy Features in SQL Server and Azure ...A Designer's Favourite Security and Privacy Features in SQL Server and Azure ...
A Designer's Favourite Security and Privacy Features in SQL Server and Azure ...
 
Jdbc
JdbcJdbc
Jdbc
 
Azure SQL Data Warehouse
Azure SQL Data Warehouse Azure SQL Data Warehouse
Azure SQL Data Warehouse
 
Introduction databases and MYSQL
Introduction databases and MYSQLIntroduction databases and MYSQL
Introduction databases and MYSQL
 
PHP mysql Introduction database
 PHP mysql  Introduction database PHP mysql  Introduction database
PHP mysql Introduction database
 
Azure Data Lake Analytics Deep Dive
Azure Data Lake Analytics Deep DiveAzure Data Lake Analytics Deep Dive
Azure Data Lake Analytics Deep Dive
 
Developing on SQL Azure
Developing on SQL AzureDeveloping on SQL Azure
Developing on SQL Azure
 
OracleStore: A Highly Performant RawStore Implementation for Hive Metastore
OracleStore: A Highly Performant RawStore Implementation for Hive MetastoreOracleStore: A Highly Performant RawStore Implementation for Hive Metastore
OracleStore: A Highly Performant RawStore Implementation for Hive Metastore
 
phptut4
phptut4phptut4
phptut4
 
phptut4
phptut4phptut4
phptut4
 

Más de Dynatrace

Virgin Money: Virgin Money's quest for digital performance perfection
Virgin Money: Virgin Money's quest for digital performance perfectionVirgin Money: Virgin Money's quest for digital performance perfection
Virgin Money: Virgin Money's quest for digital performance perfectionDynatrace
 
Dynatrace: The untouchables - the Dynatrace offering here and now
Dynatrace: The untouchables - the Dynatrace offering here and nowDynatrace: The untouchables - the Dynatrace offering here and now
Dynatrace: The untouchables - the Dynatrace offering here and nowDynatrace
 
Starbucks: Building a new dev culture and freeing time for innovation: A Star...
Starbucks: Building a new dev culture and freeing time for innovation: A Star...Starbucks: Building a new dev culture and freeing time for innovation: A Star...
Starbucks: Building a new dev culture and freeing time for innovation: A Star...Dynatrace
 
SITA: How smart apps are making air travel easier, every step of the way
SITA: How smart apps are making air travel easier, every step of the waySITA: How smart apps are making air travel easier, every step of the way
SITA: How smart apps are making air travel easier, every step of the wayDynatrace
 
Red Hat: Self driving IT is here, and it's real
Red Hat: Self driving IT is here, and it's realRed Hat: Self driving IT is here, and it's real
Red Hat: Self driving IT is here, and it's realDynatrace
 
Paypal, Barbri: Lost in the cloud? Top challenges facing CIOs in a cloud nati...
Paypal, Barbri: Lost in the cloud? Top challenges facing CIOs in a cloud nati...Paypal, Barbri: Lost in the cloud? Top challenges facing CIOs in a cloud nati...
Paypal, Barbri: Lost in the cloud? Top challenges facing CIOs in a cloud nati...Dynatrace
 
Pivotal: Join us for a fireside chat with CEO of Pivotal
Pivotal: Join us for a fireside chat with CEO of PivotalPivotal: Join us for a fireside chat with CEO of Pivotal
Pivotal: Join us for a fireside chat with CEO of PivotalDynatrace
 
Harrods: Re-inventing the luxury retail market
Harrods: Re-inventing the luxury retail marketHarrods: Re-inventing the luxury retail market
Harrods: Re-inventing the luxury retail marketDynatrace
 
Dynatrace: Meet our captain of product and all things awesome, Steve Tack
Dynatrace: Meet our captain of product and all things awesome, Steve TackDynatrace: Meet our captain of product and all things awesome, Steve Tack
Dynatrace: Meet our captain of product and all things awesome, Steve TackDynatrace
 
Dynatrace: Accelerate your cloud innovation Welcome to Perform 2018
Dynatrace: Accelerate your cloud innovation Welcome to Perform 2018Dynatrace: Accelerate your cloud innovation Welcome to Perform 2018
Dynatrace: Accelerate your cloud innovation Welcome to Perform 2018Dynatrace
 
Dynatrace: Going beyond APM and soaring to the future
Dynatrace: Going beyond APM and soaring to the futureDynatrace: Going beyond APM and soaring to the future
Dynatrace: Going beyond APM and soaring to the futureDynatrace
 
Dynatrace: Davis - Hololens - AI update - Cloud announcements - Self driving IT
Dynatrace: Davis - Hololens - AI update - Cloud announcements - Self driving ITDynatrace: Davis - Hololens - AI update - Cloud announcements - Self driving IT
Dynatrace: Davis - Hololens - AI update - Cloud announcements - Self driving ITDynatrace
 
Altimeter Group: The new face of change
Altimeter Group: The new face of changeAltimeter Group: The new face of change
Altimeter Group: The new face of changeDynatrace
 
Alastair Humphreys: Life stories and inspiration from Alastair Humphreys
Alastair Humphreys: Life stories and inspiration from Alastair HumphreysAlastair Humphreys: Life stories and inspiration from Alastair Humphreys
Alastair Humphreys: Life stories and inspiration from Alastair HumphreysDynatrace
 
AWS: Serverless Architecture - Beyond functions and into the future
AWS: Serverless Architecture - Beyond functions and into the future AWS: Serverless Architecture - Beyond functions and into the future
AWS: Serverless Architecture - Beyond functions and into the future Dynatrace
 
Zurich: Monitoring a sales force-based insurance application using dynatrace ...
Zurich: Monitoring a sales force-based insurance application using dynatrace ...Zurich: Monitoring a sales force-based insurance application using dynatrace ...
Zurich: Monitoring a sales force-based insurance application using dynatrace ...Dynatrace
 
Sentry: Baselining, cloud-scale monitoring and auto-remediation with app mon ...
Sentry: Baselining, cloud-scale monitoring and auto-remediation with app mon ...Sentry: Baselining, cloud-scale monitoring and auto-remediation with app mon ...
Sentry: Baselining, cloud-scale monitoring and auto-remediation with app mon ...Dynatrace
 
SEI: Faster innovation and better performance for the innovative sei wealth p...
SEI: Faster innovation and better performance for the innovative sei wealth p...SEI: Faster innovation and better performance for the innovative sei wealth p...
SEI: Faster innovation and better performance for the innovative sei wealth p...Dynatrace
 
SAP: How SAP fully automates the provisioning and operations of its dynatrace...
SAP: How SAP fully automates the provisioning and operations of its dynatrace...SAP: How SAP fully automates the provisioning and operations of its dynatrace...
SAP: How SAP fully automates the provisioning and operations of its dynatrace...Dynatrace
 
REI: Evolving performance engineering for the move to cloud, microservices, c...
REI: Evolving performance engineering for the move to cloud, microservices, c...REI: Evolving performance engineering for the move to cloud, microservices, c...
REI: Evolving performance engineering for the move to cloud, microservices, c...Dynatrace
 

Más de Dynatrace (20)

Virgin Money: Virgin Money's quest for digital performance perfection
Virgin Money: Virgin Money's quest for digital performance perfectionVirgin Money: Virgin Money's quest for digital performance perfection
Virgin Money: Virgin Money's quest for digital performance perfection
 
Dynatrace: The untouchables - the Dynatrace offering here and now
Dynatrace: The untouchables - the Dynatrace offering here and nowDynatrace: The untouchables - the Dynatrace offering here and now
Dynatrace: The untouchables - the Dynatrace offering here and now
 
Starbucks: Building a new dev culture and freeing time for innovation: A Star...
Starbucks: Building a new dev culture and freeing time for innovation: A Star...Starbucks: Building a new dev culture and freeing time for innovation: A Star...
Starbucks: Building a new dev culture and freeing time for innovation: A Star...
 
SITA: How smart apps are making air travel easier, every step of the way
SITA: How smart apps are making air travel easier, every step of the waySITA: How smart apps are making air travel easier, every step of the way
SITA: How smart apps are making air travel easier, every step of the way
 
Red Hat: Self driving IT is here, and it's real
Red Hat: Self driving IT is here, and it's realRed Hat: Self driving IT is here, and it's real
Red Hat: Self driving IT is here, and it's real
 
Paypal, Barbri: Lost in the cloud? Top challenges facing CIOs in a cloud nati...
Paypal, Barbri: Lost in the cloud? Top challenges facing CIOs in a cloud nati...Paypal, Barbri: Lost in the cloud? Top challenges facing CIOs in a cloud nati...
Paypal, Barbri: Lost in the cloud? Top challenges facing CIOs in a cloud nati...
 
Pivotal: Join us for a fireside chat with CEO of Pivotal
Pivotal: Join us for a fireside chat with CEO of PivotalPivotal: Join us for a fireside chat with CEO of Pivotal
Pivotal: Join us for a fireside chat with CEO of Pivotal
 
Harrods: Re-inventing the luxury retail market
Harrods: Re-inventing the luxury retail marketHarrods: Re-inventing the luxury retail market
Harrods: Re-inventing the luxury retail market
 
Dynatrace: Meet our captain of product and all things awesome, Steve Tack
Dynatrace: Meet our captain of product and all things awesome, Steve TackDynatrace: Meet our captain of product and all things awesome, Steve Tack
Dynatrace: Meet our captain of product and all things awesome, Steve Tack
 
Dynatrace: Accelerate your cloud innovation Welcome to Perform 2018
Dynatrace: Accelerate your cloud innovation Welcome to Perform 2018Dynatrace: Accelerate your cloud innovation Welcome to Perform 2018
Dynatrace: Accelerate your cloud innovation Welcome to Perform 2018
 
Dynatrace: Going beyond APM and soaring to the future
Dynatrace: Going beyond APM and soaring to the futureDynatrace: Going beyond APM and soaring to the future
Dynatrace: Going beyond APM and soaring to the future
 
Dynatrace: Davis - Hololens - AI update - Cloud announcements - Self driving IT
Dynatrace: Davis - Hololens - AI update - Cloud announcements - Self driving ITDynatrace: Davis - Hololens - AI update - Cloud announcements - Self driving IT
Dynatrace: Davis - Hololens - AI update - Cloud announcements - Self driving IT
 
Altimeter Group: The new face of change
Altimeter Group: The new face of changeAltimeter Group: The new face of change
Altimeter Group: The new face of change
 
Alastair Humphreys: Life stories and inspiration from Alastair Humphreys
Alastair Humphreys: Life stories and inspiration from Alastair HumphreysAlastair Humphreys: Life stories and inspiration from Alastair Humphreys
Alastair Humphreys: Life stories and inspiration from Alastair Humphreys
 
AWS: Serverless Architecture - Beyond functions and into the future
AWS: Serverless Architecture - Beyond functions and into the future AWS: Serverless Architecture - Beyond functions and into the future
AWS: Serverless Architecture - Beyond functions and into the future
 
Zurich: Monitoring a sales force-based insurance application using dynatrace ...
Zurich: Monitoring a sales force-based insurance application using dynatrace ...Zurich: Monitoring a sales force-based insurance application using dynatrace ...
Zurich: Monitoring a sales force-based insurance application using dynatrace ...
 
Sentry: Baselining, cloud-scale monitoring and auto-remediation with app mon ...
Sentry: Baselining, cloud-scale monitoring and auto-remediation with app mon ...Sentry: Baselining, cloud-scale monitoring and auto-remediation with app mon ...
Sentry: Baselining, cloud-scale monitoring and auto-remediation with app mon ...
 
SEI: Faster innovation and better performance for the innovative sei wealth p...
SEI: Faster innovation and better performance for the innovative sei wealth p...SEI: Faster innovation and better performance for the innovative sei wealth p...
SEI: Faster innovation and better performance for the innovative sei wealth p...
 
SAP: How SAP fully automates the provisioning and operations of its dynatrace...
SAP: How SAP fully automates the provisioning and operations of its dynatrace...SAP: How SAP fully automates the provisioning and operations of its dynatrace...
SAP: How SAP fully automates the provisioning and operations of its dynatrace...
 
REI: Evolving performance engineering for the move to cloud, microservices, c...
REI: Evolving performance engineering for the move to cloud, microservices, c...REI: Evolving performance engineering for the move to cloud, microservices, c...
REI: Evolving performance engineering for the move to cloud, microservices, c...
 

Último

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 

Último (20)

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 

How to Troubleshoot & Optimize Database Query Performance for Your Application

  • 1. Confidential, Dynatrace, LLC Asad Ali Director, Product Specialist @AsadThoughts Dynatrace How to Troubleshoot & Optimize Database Query Performance for Your Application
  • 2.
  • 3. Let the blame game start! Web Server Application Server Database DEV Team DBA Team Blame the database for all performance issues Blame the SW/HW or system administrators Network?
  • 5.
  • 6. Excessive SQL: 24889! Calls to Database Database Heavy: 66.51% (40.27s) Time Spent in SQL Execs
  • 8. Database Performance Hotspots Application Design Database Infrastructure Application
  • 9. of database performance issues can be solved by developers70%
  • 10. Database Performance Hotspots • Lack of use of bind values • Too many SQL statements per user action • Database server overloaded • DB connection pool monitoring
  • 11. Example 1: performance tuning by using bind variables
  • 12. Oracle SQL Cache <?php $db = new PDO('oci:dbname=sid', 'username', 'password'); $data = Array(); $data[] = $db->query("select * from country where code = 'AT'"); $data[] = $db->query("select * from country where code = 'AU'"); $data[] = $db->query("select * from country where code = 'NZ'"); $data[] = $db->query("select * from country where code = 'ES'"); ?>
  • 14.
  • 17. Little Bobby Tables addStudentInfo(String lname, String fname) { String query = “insert into Student(last_name, first_name) values (‘”+lname + ”’, ‘” + fname + “’)”; } Normal Operation: First Name: Asad Last Name : Ali insert into Student (‘Ali’, ‘Asad’) Malicious Operation: First Name: Asad’); Drop table Student; Last Name : Ali insert into Student (‘Ali’, ‘Asad’); Drop table Student
  • 19. Oracle SQL Cache <?php $db = new PDO('oci:dbname=sid', 'username', 'password'); $data = Array(); $ps = $db->prepare("select * from country where code = :code"); $data[] = $ps->execute(array("code" => "AT")); $data[] = $ps->execute(array("code" => "AU")); $data[] = $ps->execute(array("code" => "NZ")); $data[] = $ps->execute(array("code" => "ES")); ?>
  • 20.
  • 22. Excessive SQL: 24889! Calls to Database Database Heavy: 66.51% (40.27s) Time Spent in SQL Execs
  • 23. Why are there so many SQL statements? $schools = new SchoolEntities(); foreach ($schools as $school) { foreach ($school->departments as $department) { foreach ($department->courses as $course) { echo $department->name . ": " . $course->title); } } }
  • 24. N+1 problem • 10 schools • 20 departments per school • 50 courses per department => 10 x 20 x 50 = 10001 single database statements !!!
  • 25. Retrieving too many records $schools = new SchoolEntities(); foreach ($schools->departments as $department) { foreach ($department->courses as $course) { if ($course->category == "SQL" && $course->level == "expert")) { echo $department->name . ": " . $course->title); } } } => 3 records, still 10001 queries
  • 26. Solution: use a JOIN query with a WHERE clause $rows = $db->query (" select department.name as department, course.title as course from school join department on school_id = school.id join course on department_id = department.id where course.category = 'SQL' and course.level = 'expert' "); foreach ($rows as $row) { echo $department . ": " . $course); } => ONE database statement !!!
  • 29.
  • 30.
  • 31.
  • 36. Auto DB Pattern Detection
  • 39. Performance Tuning – best practices • Use bind variables to leverage SQL caching • Use join queries to avoid N+1 problems • Avoid index killers in queries • Use stored procedures for complex functionality • Leverage connection pooling • Watch for other processes / application on your database http://apmblog.dynatrace.com/2016/05/23/improve-oracle-database-performance-using-bind-variables/ https://www.infoq.com/articles/Diagnose-Microservice-Performance-Anti-Patterns