SlideShare une entreprise Scribd logo
1  sur  55
Télécharger pour lire hors ligne
1
Advanced ASE Performance Tuning
Tips
Janis Griffin
Senior DBA / Performance Evangelist
2
© 2015 SOLARWINDS
Who Am I?
» Senior DBA / Performance Evangelist for Solarwinds
§ Janis.Griffin@solarwinds.com
§ Twitter - @DoBoutAnything
§ Current – 25+ Years in Oracle, Sybase, SQL Server
§ DBA and Developer
» Specialize in Performance Tuning
» Review Database Performance for Customers and
Prospects
» Common Thread – Paralyzed by Tuning
3
© 2015 SOLARWINDS
Before we start, do you know…

» The most important problem in your database instance?
»
» If that new program is hurting database performance?
»
» Did that recent fix really solved the database issue?
»
» Which bottlenecks in your database directly impacted end-
user service?
»
4
© 2015 SOLARWINDS
Agenda - 4 Tips
» Focus on Tuning Queries

» Utilize Response Time Analysis (RTA)

» Examine Query Execution Plans

» Use SQL or Query Diagramming
§ Who registered yesterday for Tuning Class
§ Check order status
§ Current paychecks for specific employees
§
5
© 2015 SOLARWINDS
Why Focus on Queries
» Most Applications
§ Read and Write data to/from database
§ Simple manipulation of data
§ Deal with smaller amounts of data
» Most Databases
§ Examine larger amounts of data, return a little
§ Inefficiencies quickly become bottleneck
» Why do SQL tuning?
§ “Gives the biggest bang for your buck”
§ Changes to SQL are Safer
§ Most of performance issues are SQL related
6
© 2015 SOLARWINDS
Challenges Of Tuning
» SQL Tuning is Hard
§ Who should tune – DBA or Developer
§ Which SQL to tune
§
» Requires Expertise in Many Areas
§ Technical – Plan, Data Access, SQL Design
§ Business – What is the Purpose of SQL?
§
» Tuning Takes Time
§ Large Number of SQL Statements
§ Each Statement is Different
§
» Low Priority in Some Companies
§ Vendor Applications
§ Focus on Hardware or System Issues
§
» Never Ending
7
© 2015 SOLARWINDS
Which SQL to Tune
Methods for Identifying

» User / Batch Job Complaints
§ Known Poorly Performing SQL
§ Trace Session/Process
§
» Queries Performing Most I/O (LIO / PIO)
§ Table or Index Scans

» Queries Consuming CPU

» Highest Response Times - DPA (formally Ignite)


8
© 2015 SOLARWINDS
Response Time Analysis (RTA)
§Understand the total time a Query spends in
Database
§Measure time while Query executes
§SAP ASE helps by providing Wait Events
Focus on Response Time
9
© 2015 SOLARWINDS
Wait Time Tables (ASE 12.5.0.3+)
http://froebe.net/blog/wp-content/uploads/2013/09/ASE-15.7-Monitoring-Tables-Diagram-Sybase-Inc_.pdf
10
© 2015 SOLARWINDS
Response Time Query
» MDA Query Example

SELECT mP.Login, mP.DBName, mPL.ClientHost,
 RTRIM(mPL.Application), mPP.ObjectName,
 mP.WaitEventID, mPS.SQLText, mPS.BatchID,
 mPS.LineNumber, mP.LineNumber CurrentLineNumber
FROM monProcessSQLText mPS,
 monProcessLookup mPL,
 (monProcess mPLEFT OUTER JOIN
 monProcessProcedures mPP
 ON mP.SPID=mPP.SPID AND mP.KPID=mPP.KPID)
WHERE mP.SPID=mPL.SPID AND mP.KPID=mPL.KPID
AND mP.SPID=mPS.SPID AND mP.KPID=mPS.KPID
AND coalesce(mP.FamilyID,0) = 0 AND mP.BatchID > 0

11
© 2015 SOLARWINDS
Top Wait Events At Server Level
select WaitEventID,
 convert(numeric(16,0),Waits) as "Waits",
 convert(numeric(16,0),WaitTime) as "WaitTime"
 into #waits1
 from monSysWaits
go
select Description,
 convert(int,sum(w.Waits)) as "Count",
 convert(int,sum(w.WaitTime)/1000) as "Seconds"
 from #waits1 w,
 monWaitEventInfo ei
 where w.WaitEventID = ei.WaitEventID
 group by Description
 order by 3 desc
12
© 2015 SOLARWINDS
RTA – Proactive
Refreshed on :08/12/14 02:35:18 PM
13
© 2015 SOLARWINDS
Users Complain: 10am – 12pm Slow
Top 15 SQL Statements | GIBSON:5000 | August 8, 2014 to August 12, 2014
Daily Time Range: 10:00 AM-12:00 PM
14
© 2015 SOLARWINDS
RTA – Firefighting
Day: Tuesday – August 10,2014 Refreshed on: 08/12/2014 05:09:57 PM
15
© 2015 SOLARWINDS
RTA - Blocking Issue
Day: Tuesday – August 10,2014 Refreshed on: 08/12/2014 05:02:02
SQL Statements Executed by Blocking Session 125 while Holding the Lock | GIBSON:5000
August 10, 2014 – 12:00PM to 4:00PM
16
© 2015 SOLARWINDS
RTA – Long Term Trends
Top 15 SQL Statements | GIBSON:5000 | July 31,2014 to August 24, 2014
17
© 2015 SOLARWINDS
RTA – Current Problem
Refreshed on: 08/12/2014 05:34:42 PM
18
© 2015 SOLARWINDS
RTA – Current Problem
Refreshed on: 08/12/2014 05:39:06 PM
19
© 2015 SOLARWINDS
Identify End-to-END Time
Accurate End-to-End Response Time Analysis
20
© 2015 SOLARWINDS
Get Table & COLUMN Info
» Understand objects in execution plans
§ Table Definitions & Segment sizes
• Is it a View – get underlying definition
• Number of Rows / Partitioning

§ Examine Columns in Where Clause
• Cardinality of columns
• Data Skew / Histograms
§
§ Statistic Gathering
• Tip: Out-of-date statistics can impact performance

» Understand expensive data access targets
§ TableScans versus IndexScans
§
» Know the indexes – if multi-column, order is important
21
© 2015 SOLARWINDS
Get The Execution Plan
» SET SHOWPLAN ON
§ set statistics io, time on
 simulate, subquerycache, plancost
§ set noexec on
 http://help.sap.com/Download/Multimedia/ASE_16.0/ptstats.pdf
» Interactive SQL (Sybase iAnyWhere or SAP dbisql)
§ Plan Viewer– must execute query
§ Details, XML & Advanced (abstract & missing)
» Abstract Plans-sysqueryplans /sysquerymetrics
§ sp_configure'enable metrics capture', 1
» Application Tracing (v15.0.2+)
§ set tracefile "<file-path>" for <spid>
§ Works when you know a problem will occur

22
© 2015 SOLARWINDS
Get The Execution Plan - tracing
set statistics plancost on
set tracefile ’/db1/trc/trc32.tx’ for 32
© 2015 SOLARWINDS
Examine the Execution Plan
» Find Expensive Operators
§ Examine cost of each step
§ Look for full table or index scans

» Review the ‘restrict’ & ‘sort’ operators
§ Are the ‘restrict’ steps early in plan?
§ Large sorts that don’t fit into memory
§ Look for Implicit conversions when using parmeters
» Review JOIN operators
§ Nested loop
• effective when there is a useful index available
§ Merge Join
• good when most of the rows must be processed and they are
already sorted by join keys
§ Hash Join
• good when most of the rows from source sets are processed
§ Nary Nested Loop
• More efficient when you have more than 2 nested loops
23
© 2015 SOLARWINDS
Engineer out the Stupid

» Look for Performance Inhibitors

§ Cursor or row by row processing

§ Parallel processing - OLAP vs OLTP
§
§ Hard-coded Hints
§
§ Nested views that use link servers

§ Abuse of Wild Cards (*) or No Where Clause
§
§ Code-based SQL Generators (e.g. Hibernate)
§
§ Non-SARG-able / Scalar Functions
• Select… where upper(first_name) = ‘JANIS’

24
25
© 2015 SOLARWINDS
Execution Plan Example
26
© 2015 SOLARWINDS
» Who registered yesterday for SQL Tuning

SELECT s.FNAME, s.LNAME, r.SIGNUP_DATE
FROM STUDENT s
INNER JOIN REGISTRATION r ON s.STUDENT_ID =
r.STUDENT_ID
INNER JOIN CLASS c ON r.CLASS_ID = c.CLASS_ID
WHERE c.NAME = 'SQL TUNING'
AND r.SIGNUP_DATE BETWEEN @BegDate AND
@EndDate
AND r.CANCELLED = 'N‘

Case Study 1
27
© 2015 SOLARWINDS
Relationship Diagram for Tables in Query
28
© 2015 SOLARWINDS
Execution Plan
29
© 2015 SOLARWINDS
SQL Diagramming
» Great Book “SQL Tuning” by Dan Tow
§ Great book that teaches SQL Diagramming
§ http://www.singingsql.com
REGISTRATION
STUDENT CLASS
5
1
3
0
1
.
05
.
002
select count(1) from registration where cancelled = 'N'
and signup_date between '2015-01-29 00:00' and '2015-01-30 00:00'
4,141 / 79,999 = 0.05
select count(1) from class where name = 'SQL TUNING'
2 / 1,000 = .002
30
© 2015 SOLARWINDS
create index cl_name ON CLASS(NAME)
New Execution Plan
Why would an TableScan still occur on REGISTRATION?
31
© 2015 SOLARWINDS
Database Diagram
32
© 2015 SOLARWINDS
create index reg_alt on REGISTRATION(CLASS_ID)
New Execution Plan
33
© 2015 SOLARWINDS
create index reg_alt ON REGISTRATION
 (CLASS_ID, SIGNUP_DATE,CANCELLED)
Better Execution Plan
34
© 2015 SOLARWINDS
» Lookup Shipment Status for caller

SELECT o.OrderID, c.FirstName, c.LastName,
 p.ProductID, p.Description,
 s.ActualShipDate, s.ShipStatus, s.ExpectedShipDate
FROM SalesOrder o
INNER JOIN OrderItem i ON i.OrderID = o.OrderID
INNER JOIN Customer c ON c.CustomerID = o.CustomerID
INNER JOIN Shipment s ON s.ShipmentID = i.ShipmentID
LEFT OUTER JOIN Product p ON p.ProductID = i.ProductID
LEFT OUTER JOIN Address a ON a.AddressID = s.AddressID
WHERE c.LastName LIKE ISNULL('Griffin','') + '%'
AND o.OrderDate >= DATEADD(day, -30,getdate())
AND s.ShipStatus <> 'C'
order by LastName

Case Study 2
35
© 2015 SOLARWINDS
Database Diagram
36
© 2015 SOLARWINDS
Execution Plan
37
© 2015 SOLARWINDS
SQL Diagramming
o .02
.005
SELECT COUNT(1)*1.0/(SELECT COUNT(1) FROM Customer) FROM Customer
WHERE LastName LIKE 'Griffin%'
0.005
SELECT COUNT(1)*1.0/(SELECT COUNT(1) FROM [SalesOrder]) FROM
[SalesOrder] WHERE OrderDate >= DATEADD(day, -30, GETDATE())
.02
SELECT COUNT(1)*1.0/(SELECT COUNT(1) FROM [Shipment]) FROM [Shipment]
WHERE ShipStatus <> 'C'
.04
i c
ps
a
.
04
38
© 2015 SOLARWINDS
New Execution Plan
» CREATE INDEX CUST_LASTNAME ON Customer(LastName)
»
39
© 2015 SOLARWINDS
SQL Diagramming
o .02
.005
SELECT COUNT(1)*1.0/(SELECT COUNT(1) FROM Customer) FROM Customer
WHERE LastName LIKE 'Griffin%'
0.005
SELECT COUNT(1)*1.0/(SELECT COUNT(1) FROM [SalesOrder]) FROM
[SalesOrder] WHERE OrderDate >= DATEADD(day, -30, GETDATE())
.02
SELECT COUNT(1)*1.0/(SELECT COUNT(1) FROM [Shipment]) FROM [Shipment]
WHERE ShipStatus <> 'C'
.04
i c
ps
a
.
04
40
© 2015 SOLARWINDS
CREATE INDEX SALESORDER_ODATE ON SalesOrder (OrderDate)
New Execution Plan
41
© 2015 SOLARWINDS
SQL Diagramming
o .02
.005
SELECT COUNT(1)*1.0/(SELECT COUNT(1) FROM Customer) FROM Customer
WHERE LastName LIKE 'Griffin%'
0.005
SELECT COUNT(1)*1.0/(SELECT COUNT(1) FROM [SalesOrder]) FROM
[SalesOrder] WHERE OrderDate >= DATEADD(day, -30, GETDATE())
.02
SELECT COUNT(1)*1.0/(SELECT COUNT(1) FROM [Shipment]) FROM [Shipment]
WHERE ShipStatus <> 'C'
.04
i c
ps
a
.
04
42
© 2015 SOLARWINDS
Data Skew Problems
» Only 4% of rows are <> ‘C’
» How about changing the query?
§ AND s.ShipStatus = 'I'
» Add Histogram on ShipStatus

SELECT ShipStatus, COUNT(1)Cnt
FROM [Shipment]
GROUP BY ShipStatus
43
© 2015 SOLARWINDS
UPDATE STATISTICS example.dbo.Shipment (ShipStatus)
go
New Execution Plan
44
© 2015 SOLARWINDS
Case Study 3
» Current paychecks for specific employees

 SELECT e.empno, e.first_name, e.last_name,
 d.dname,l.street_address,l.city,
 l.state_province, l.postal_code
 FROM emp e
 INNER JOIN dept d ON e.deptno = d.deptno
 INNER JOIN loc l ON d.location_id = l.location_id
 WHERE (e.first_name = @first or e.last_name = @last)
 AND EXISTS (
 SELECT 1
 FROM wage_pmt w
 WHERE w.empno = e.empno
 AND w.pay_date>= DATEADD(day,-31,GETDATE())
 )

» Execution Stats – 6681 Logical I/O
» Average Execution - 15.012 seconds
» Resource - 99% CPU

45
© 2015 SOLARWINDS
Execution Plan
46
© 2015 SOLARWINDS
SQL Diagramming
select count(1) from wage_pmt
where pay_date >= DATEADD(day,-31,GETDATE())
109568 / 1027192 = .106
select max(cnt), min(cnt)
from (select last_name, count(1) cnt from emp group by last_name)
128 / 6848 = .018 – max
64 /= 6848 = .009 – min
emp
dept
wage_pmt
1000
1
150
1
.02
.10
loc
1
9
.009
47
© 2015 SOLARWINDS
New Execution Plan
» create index IX_EMP_LN on emp(last_name)
» Create index IX_EMP_FN on emp(first_name
48
© 2015 SOLARWINDS
Wage_Pmt table – no index on empno
49
© 2015 SOLARWINDS
Better Execution Plan
» create index IX_WAGE_EMPNO on wage_pmt(empno)
»
»
»
»
»
»
»
»
»
»
»



Execution time = 0.546 seconds
50
© 2015 SOLARWINDS
Best execution Plan
Covered Index:
create index IX_EMP on emp(empno, last_name, first_name, deptno)
Time: 0.066 secs
51
© 2015 SOLARWINDS
Monitor
» Monitor the improvement
§ Be able to prove that tuning made a difference
§ Take new metric measurements
§ Compare them to initial readings
§ Brag about the improvements – no one else will
» Monitor for next tuning opportunity
§ Tuning is iterative
§ There is always room for improvement
§ Make sure you tune things that make a difference
» Shameless Product Pitch - DPA
52
© 2015 SOLARWINDS
Improved Performance
Average Wait Time per Execution for SQL Statement Current Paychecks by Name | GIBSON:5000
March 15, 2015
Daily Time Range: 5:00 PM-12:00 AM
Logical Reads = 1198 Execution Time = .066 seconds
© 2015 SOLARWINDS
Takeaway Points
» Tuning Queries gives more “bang for the buck”
» Make sure you are tuning the correct query
» Use Wait Events and Response Time Analysis
§ Locking problems may not be a Query Tuning issue
§ Wait Events tell you where to start
» Use “Execution or Query Plans”
» SQL Diagramming - “Get it right the First Time”
§ Query Tuner Tools can mislead you
» Monitor for next tuning opportunity
www.solarwinds.com/dpa-download/
Resolve performance issues quickly—free trial
Try Database Performance Analyzer FREE for 14 days
Improve root cause of slow performance
 Quickly identify root cause of issues that impact end-user
response time
 See historical trends over days, months, and years

Understand impact of VMware® performance
 Agentless architecture with no dependence on Oracle Packs,
installs in minutes

© 2014 SOLARWINDS WORLDWIDE, LLC.  ALL RIGHTS RESERVED.
The SOLARWINDS and SOLARWINDS & Design marks are the exclusive property of SolarWinds Worldwide, LLC, are registered with the U.S.
Patent and Trademark Office, and may be registered or pending registration in other countries. All other SolarWinds trademarks, service marks,
and logos may be common law marks, registered or pending registration in the United States or in other countries. All other trademarks
mentioned herein are used for identification purposes only and may be or are trademarks or registered trademarks of their respective companies.
Thank You!
Q & A

Contenu connexe

Tendances

Scaling for Performance
Scaling for PerformanceScaling for Performance
Scaling for PerformanceScyllaDB
 
The Science of DBMS: Query Optimization
The Science of DBMS: Query Optimization The Science of DBMS: Query Optimization
The Science of DBMS: Query Optimization SAP Technology
 
Smart monitoring how does oracle rac manage resource, state ukoug19
Smart monitoring how does oracle rac manage resource, state ukoug19Smart monitoring how does oracle rac manage resource, state ukoug19
Smart monitoring how does oracle rac manage resource, state ukoug19Anil Nair
 
PostgreSQL major version upgrade using built in Logical Replication
PostgreSQL major version upgrade using built in Logical ReplicationPostgreSQL major version upgrade using built in Logical Replication
PostgreSQL major version upgrade using built in Logical ReplicationAtsushi Torikoshi
 
Designing Scalable and Secure Microservices by Embracing DevOps-as-a-Service ...
Designing Scalable and Secure Microservices by Embracing DevOps-as-a-Service ...Designing Scalable and Secure Microservices by Embracing DevOps-as-a-Service ...
Designing Scalable and Secure Microservices by Embracing DevOps-as-a-Service ...Demetris Trihinas
 
MySQL Day Paris 2018 - Upgrade from MySQL 5.7 to MySQL 8.0
MySQL Day Paris 2018 - Upgrade from MySQL 5.7 to MySQL 8.0MySQL Day Paris 2018 - Upgrade from MySQL 5.7 to MySQL 8.0
MySQL Day Paris 2018 - Upgrade from MySQL 5.7 to MySQL 8.0Olivier DASINI
 
Oracle Active Data Guard and Global Data Services in Action!
Oracle Active Data Guard and Global Data Services in Action!Oracle Active Data Guard and Global Data Services in Action!
Oracle Active Data Guard and Global Data Services in Action!Ludovico Caldara
 
Oracle GoldenGate and Apache Kafka A Deep Dive Into Real-Time Data Streaming
Oracle GoldenGate and Apache Kafka A Deep Dive Into Real-Time Data StreamingOracle GoldenGate and Apache Kafka A Deep Dive Into Real-Time Data Streaming
Oracle GoldenGate and Apache Kafka A Deep Dive Into Real-Time Data StreamingMichael Rainey
 
Slim Baltagi – Flink vs. Spark
Slim Baltagi – Flink vs. SparkSlim Baltagi – Flink vs. Spark
Slim Baltagi – Flink vs. SparkFlink Forward
 
DataStax: Backup and Restore in Cassandra and OpsCenter
DataStax: Backup and Restore in Cassandra and OpsCenterDataStax: Backup and Restore in Cassandra and OpsCenter
DataStax: Backup and Restore in Cassandra and OpsCenterDataStax Academy
 
MySQL Replication Performance Tuning for Fun and Profit!
MySQL Replication Performance Tuning for Fun and Profit!MySQL Replication Performance Tuning for Fun and Profit!
MySQL Replication Performance Tuning for Fun and Profit!Vitor Oliveira
 
Understanding Data Partitioning and Replication in Apache Cassandra
Understanding Data Partitioning and Replication in Apache CassandraUnderstanding Data Partitioning and Replication in Apache Cassandra
Understanding Data Partitioning and Replication in Apache CassandraDataStax
 
Data Loss and Duplication in Kafka
Data Loss and Duplication in KafkaData Loss and Duplication in Kafka
Data Loss and Duplication in KafkaJayesh Thakrar
 
Faster, better, stronger: The new InnoDB
Faster, better, stronger: The new InnoDBFaster, better, stronger: The new InnoDB
Faster, better, stronger: The new InnoDBMariaDB plc
 
Enterprise container platform verrazzano
Enterprise container platform verrazzanoEnterprise container platform verrazzano
Enterprise container platform verrazzanoMichel Schildmeijer
 
OpenText Archive Server on Azure
OpenText Archive Server on AzureOpenText Archive Server on Azure
OpenText Archive Server on AzureGary Jackson MBCS
 
MySQL InnoDB Cluster: Management and Troubleshooting with MySQL Shell
MySQL InnoDB Cluster: Management and Troubleshooting with MySQL ShellMySQL InnoDB Cluster: Management and Troubleshooting with MySQL Shell
MySQL InnoDB Cluster: Management and Troubleshooting with MySQL ShellMiguel Araújo
 
Introduction to MySQL InnoDB Cluster
Introduction to MySQL InnoDB ClusterIntroduction to MySQL InnoDB Cluster
Introduction to MySQL InnoDB ClusterFrederic Descamps
 

Tendances (20)

Scaling for Performance
Scaling for PerformanceScaling for Performance
Scaling for Performance
 
The Science of DBMS: Query Optimization
The Science of DBMS: Query Optimization The Science of DBMS: Query Optimization
The Science of DBMS: Query Optimization
 
Smart monitoring how does oracle rac manage resource, state ukoug19
Smart monitoring how does oracle rac manage resource, state ukoug19Smart monitoring how does oracle rac manage resource, state ukoug19
Smart monitoring how does oracle rac manage resource, state ukoug19
 
PostgreSQL major version upgrade using built in Logical Replication
PostgreSQL major version upgrade using built in Logical ReplicationPostgreSQL major version upgrade using built in Logical Replication
PostgreSQL major version upgrade using built in Logical Replication
 
Designing Scalable and Secure Microservices by Embracing DevOps-as-a-Service ...
Designing Scalable and Secure Microservices by Embracing DevOps-as-a-Service ...Designing Scalable and Secure Microservices by Embracing DevOps-as-a-Service ...
Designing Scalable and Secure Microservices by Embracing DevOps-as-a-Service ...
 
MySQL Day Paris 2018 - Upgrade from MySQL 5.7 to MySQL 8.0
MySQL Day Paris 2018 - Upgrade from MySQL 5.7 to MySQL 8.0MySQL Day Paris 2018 - Upgrade from MySQL 5.7 to MySQL 8.0
MySQL Day Paris 2018 - Upgrade from MySQL 5.7 to MySQL 8.0
 
MySQL Replication
MySQL ReplicationMySQL Replication
MySQL Replication
 
Oracle Active Data Guard and Global Data Services in Action!
Oracle Active Data Guard and Global Data Services in Action!Oracle Active Data Guard and Global Data Services in Action!
Oracle Active Data Guard and Global Data Services in Action!
 
Oracle GoldenGate and Apache Kafka A Deep Dive Into Real-Time Data Streaming
Oracle GoldenGate and Apache Kafka A Deep Dive Into Real-Time Data StreamingOracle GoldenGate and Apache Kafka A Deep Dive Into Real-Time Data Streaming
Oracle GoldenGate and Apache Kafka A Deep Dive Into Real-Time Data Streaming
 
Slim Baltagi – Flink vs. Spark
Slim Baltagi – Flink vs. SparkSlim Baltagi – Flink vs. Spark
Slim Baltagi – Flink vs. Spark
 
DataStax: Backup and Restore in Cassandra and OpsCenter
DataStax: Backup and Restore in Cassandra and OpsCenterDataStax: Backup and Restore in Cassandra and OpsCenter
DataStax: Backup and Restore in Cassandra and OpsCenter
 
MySQL Replication Performance Tuning for Fun and Profit!
MySQL Replication Performance Tuning for Fun and Profit!MySQL Replication Performance Tuning for Fun and Profit!
MySQL Replication Performance Tuning for Fun and Profit!
 
Understanding Data Partitioning and Replication in Apache Cassandra
Understanding Data Partitioning and Replication in Apache CassandraUnderstanding Data Partitioning and Replication in Apache Cassandra
Understanding Data Partitioning and Replication in Apache Cassandra
 
Data Loss and Duplication in Kafka
Data Loss and Duplication in KafkaData Loss and Duplication in Kafka
Data Loss and Duplication in Kafka
 
Faster, better, stronger: The new InnoDB
Faster, better, stronger: The new InnoDBFaster, better, stronger: The new InnoDB
Faster, better, stronger: The new InnoDB
 
Next.js - ReactPlayIO.pptx
Next.js - ReactPlayIO.pptxNext.js - ReactPlayIO.pptx
Next.js - ReactPlayIO.pptx
 
Enterprise container platform verrazzano
Enterprise container platform verrazzanoEnterprise container platform verrazzano
Enterprise container platform verrazzano
 
OpenText Archive Server on Azure
OpenText Archive Server on AzureOpenText Archive Server on Azure
OpenText Archive Server on Azure
 
MySQL InnoDB Cluster: Management and Troubleshooting with MySQL Shell
MySQL InnoDB Cluster: Management and Troubleshooting with MySQL ShellMySQL InnoDB Cluster: Management and Troubleshooting with MySQL Shell
MySQL InnoDB Cluster: Management and Troubleshooting with MySQL Shell
 
Introduction to MySQL InnoDB Cluster
Introduction to MySQL InnoDB ClusterIntroduction to MySQL InnoDB Cluster
Introduction to MySQL InnoDB Cluster
 

En vedette

ASE Semantic Partitions- A Case Study
ASE Semantic Partitions- A Case Study ASE Semantic Partitions- A Case Study
ASE Semantic Partitions- A Case Study SAP Technology
 
Choosing Indexes For Performance
Choosing Indexes For PerformanceChoosing Indexes For Performance
Choosing Indexes For PerformanceSAP Technology
 
Storage Optimization and Operational Simplicity in SAP Adaptive Server Enter...
Storage Optimization and Operational Simplicity in SAP  Adaptive Server Enter...Storage Optimization and Operational Simplicity in SAP  Adaptive Server Enter...
Storage Optimization and Operational Simplicity in SAP Adaptive Server Enter...SAP Technology
 
Leveraging SAP ASE Workload Analyzer to optimize your database environment
Leveraging SAP ASE Workload Analyzer to optimize your database environmentLeveraging SAP ASE Workload Analyzer to optimize your database environment
Leveraging SAP ASE Workload Analyzer to optimize your database environmentSAP Technology
 
Git migration - Lessons learned
Git migration - Lessons learnedGit migration - Lessons learned
Git migration - Lessons learnedTomasz Zarna
 
Configuring and using SIDB for ASE CE SP130
Configuring and using SIDB for ASE CE SP130Configuring and using SIDB for ASE CE SP130
Configuring and using SIDB for ASE CE SP130SAP Technology
 
What's New in SAP Replication Server 15.7.1 SP100
What's New in SAP Replication Server 15.7.1 SP100What's New in SAP Replication Server 15.7.1 SP100
What's New in SAP Replication Server 15.7.1 SP100Dobler Consulting
 
Tabular Data Stream: The Binding Between Client and SAP ASE
Tabular Data Stream: The Binding Between Client and SAP ASETabular Data Stream: The Binding Between Client and SAP ASE
Tabular Data Stream: The Binding Between Client and SAP ASESAP Technology
 
Amazon Web Services sign-up
Amazon Web Services sign-upAmazon Web Services sign-up
Amazon Web Services sign-upSimone Brunozzi
 
Hadoop MapReduce Fundamentals
Hadoop MapReduce FundamentalsHadoop MapReduce Fundamentals
Hadoop MapReduce FundamentalsLynn Langit
 
DB 3 Sybase ASE 15 & MS SQL Server
DB 3 Sybase ASE 15 & MS SQL Server DB 3 Sybase ASE 15 & MS SQL Server
DB 3 Sybase ASE 15 & MS SQL Server Sunny U Okoro
 
What Makes Great Infographics
What Makes Great InfographicsWhat Makes Great Infographics
What Makes Great InfographicsSlideShare
 
Masters of SlideShare
Masters of SlideShareMasters of SlideShare
Masters of SlideShareKapost
 
STOP! VIEW THIS! 10-Step Checklist When Uploading to Slideshare
STOP! VIEW THIS! 10-Step Checklist When Uploading to SlideshareSTOP! VIEW THIS! 10-Step Checklist When Uploading to Slideshare
STOP! VIEW THIS! 10-Step Checklist When Uploading to SlideshareEmpowered Presentations
 

En vedette (17)

ASE Semantic Partitions- A Case Study
ASE Semantic Partitions- A Case Study ASE Semantic Partitions- A Case Study
ASE Semantic Partitions- A Case Study
 
Choosing Indexes For Performance
Choosing Indexes For PerformanceChoosing Indexes For Performance
Choosing Indexes For Performance
 
Storage Optimization and Operational Simplicity in SAP Adaptive Server Enter...
Storage Optimization and Operational Simplicity in SAP  Adaptive Server Enter...Storage Optimization and Operational Simplicity in SAP  Adaptive Server Enter...
Storage Optimization and Operational Simplicity in SAP Adaptive Server Enter...
 
Leveraging SAP ASE Workload Analyzer to optimize your database environment
Leveraging SAP ASE Workload Analyzer to optimize your database environmentLeveraging SAP ASE Workload Analyzer to optimize your database environment
Leveraging SAP ASE Workload Analyzer to optimize your database environment
 
How To Be a Great DBA
How To Be a Great DBAHow To Be a Great DBA
How To Be a Great DBA
 
Git migration - Lessons learned
Git migration - Lessons learnedGit migration - Lessons learned
Git migration - Lessons learned
 
Configuring and using SIDB for ASE CE SP130
Configuring and using SIDB for ASE CE SP130Configuring and using SIDB for ASE CE SP130
Configuring and using SIDB for ASE CE SP130
 
Sap replication server
Sap replication serverSap replication server
Sap replication server
 
What's New in SAP Replication Server 15.7.1 SP100
What's New in SAP Replication Server 15.7.1 SP100What's New in SAP Replication Server 15.7.1 SP100
What's New in SAP Replication Server 15.7.1 SP100
 
Tabular Data Stream: The Binding Between Client and SAP ASE
Tabular Data Stream: The Binding Between Client and SAP ASETabular Data Stream: The Binding Between Client and SAP ASE
Tabular Data Stream: The Binding Between Client and SAP ASE
 
Amazon Web Services sign-up
Amazon Web Services sign-upAmazon Web Services sign-up
Amazon Web Services sign-up
 
Hadoop MapReduce Fundamentals
Hadoop MapReduce FundamentalsHadoop MapReduce Fundamentals
Hadoop MapReduce Fundamentals
 
DB 3 Sybase ASE 15 & MS SQL Server
DB 3 Sybase ASE 15 & MS SQL Server DB 3 Sybase ASE 15 & MS SQL Server
DB 3 Sybase ASE 15 & MS SQL Server
 
What Makes Great Infographics
What Makes Great InfographicsWhat Makes Great Infographics
What Makes Great Infographics
 
Masters of SlideShare
Masters of SlideShareMasters of SlideShare
Masters of SlideShare
 
STOP! VIEW THIS! 10-Step Checklist When Uploading to Slideshare
STOP! VIEW THIS! 10-Step Checklist When Uploading to SlideshareSTOP! VIEW THIS! 10-Step Checklist When Uploading to Slideshare
STOP! VIEW THIS! 10-Step Checklist When Uploading to Slideshare
 
You Suck At PowerPoint!
You Suck At PowerPoint!You Suck At PowerPoint!
You Suck At PowerPoint!
 

Similaire à Advanced ASE Performance Tuning Tips

Data Warehouse Optimization
Data Warehouse OptimizationData Warehouse Optimization
Data Warehouse OptimizationCloudera, Inc.
 
Stop the Chaos! Get Real Oracle Performance by Query Tuning Part 2
Stop the Chaos! Get Real Oracle Performance by Query Tuning Part 2Stop the Chaos! Get Real Oracle Performance by Query Tuning Part 2
Stop the Chaos! Get Real Oracle Performance by Query Tuning Part 2SolarWinds
 
What are you waiting for
What are you waiting forWhat are you waiting for
What are you waiting forJason Strate
 
Self-serve analytics journey at Celtra: Snowflake, Spark, and Databricks
Self-serve analytics journey at Celtra: Snowflake, Spark, and DatabricksSelf-serve analytics journey at Celtra: Snowflake, Spark, and Databricks
Self-serve analytics journey at Celtra: Snowflake, Spark, and DatabricksGrega Kespret
 
Orsyp Dollar Universe - Performance Management for SAP
Orsyp Dollar Universe - Performance Management for SAPOrsyp Dollar Universe - Performance Management for SAP
Orsyp Dollar Universe - Performance Management for SAPORSYP SOFTWARE
 
Government and Education Webinar: SQL Server—Advanced Performance Tuning
Government and Education Webinar: SQL Server—Advanced Performance Tuning Government and Education Webinar: SQL Server—Advanced Performance Tuning
Government and Education Webinar: SQL Server—Advanced Performance Tuning SolarWinds
 
Cassandra Summit 2014: Internet of Complex Things Analytics with Apache Cassa...
Cassandra Summit 2014: Internet of Complex Things Analytics with Apache Cassa...Cassandra Summit 2014: Internet of Complex Things Analytics with Apache Cassa...
Cassandra Summit 2014: Internet of Complex Things Analytics with Apache Cassa...DataStax Academy
 
How Nationwide and Tasktop Achieved Continuous Visibility Across the DevOps L...
How Nationwide and Tasktop Achieved Continuous Visibility Across the DevOps L...How Nationwide and Tasktop Achieved Continuous Visibility Across the DevOps L...
How Nationwide and Tasktop Achieved Continuous Visibility Across the DevOps L...Tasktop
 
Performance tuning - A key to successful cassandra migration
Performance tuning - A key to successful cassandra migrationPerformance tuning - A key to successful cassandra migration
Performance tuning - A key to successful cassandra migrationRamkumar Nottath
 
Predicting When Your Applications Will Go Off the Rails! Managing DB2 Appli...
Predicting When Your Applications Will Go Off the Rails!  Managing DB2 Appli...Predicting When Your Applications Will Go Off the Rails!  Managing DB2 Appli...
Predicting When Your Applications Will Go Off the Rails! Managing DB2 Appli...CA Technologies
 
Migrating from Oracle to Postgres
Migrating from Oracle to PostgresMigrating from Oracle to Postgres
Migrating from Oracle to PostgresEDB
 
MySQL Performance Schema : fossasia
MySQL Performance Schema : fossasiaMySQL Performance Schema : fossasia
MySQL Performance Schema : fossasiaMayank Prasad
 
The 15 ITIL Steps to DBaaS in the Cloud
The 15 ITIL Steps to DBaaS in the CloudThe 15 ITIL Steps to DBaaS in the Cloud
The 15 ITIL Steps to DBaaS in the CloudJoaquin Marques
 
Stop the Chaos! Get Real Oracle Performance by Query Tuning Part 1
Stop the Chaos! Get Real Oracle Performance by Query Tuning Part 1Stop the Chaos! Get Real Oracle Performance by Query Tuning Part 1
Stop the Chaos! Get Real Oracle Performance by Query Tuning Part 1SolarWinds
 
Consolidate your data marts for fast, flexible analytics 5.24.18
Consolidate your data marts for fast, flexible analytics 5.24.18Consolidate your data marts for fast, flexible analytics 5.24.18
Consolidate your data marts for fast, flexible analytics 5.24.18Cloudera, Inc.
 
Capital One: Using Cassandra In Building A Reporting Platform
Capital One: Using Cassandra In Building A Reporting PlatformCapital One: Using Cassandra In Building A Reporting Platform
Capital One: Using Cassandra In Building A Reporting PlatformDataStax Academy
 
MySQL Manchester TT - MySQL Enterprise Edition
MySQL Manchester TT - MySQL Enterprise EditionMySQL Manchester TT - MySQL Enterprise Edition
MySQL Manchester TT - MySQL Enterprise EditionMark Swarbrick
 
Which Change Data Capture Strategy is Right for You?
Which Change Data Capture Strategy is Right for You?Which Change Data Capture Strategy is Right for You?
Which Change Data Capture Strategy is Right for You?Precisely
 
Monitorando performance no Azure SQL Database
Monitorando performance no Azure SQL DatabaseMonitorando performance no Azure SQL Database
Monitorando performance no Azure SQL DatabaseVitor Fava
 

Similaire à Advanced ASE Performance Tuning Tips (20)

Data Warehouse Optimization
Data Warehouse OptimizationData Warehouse Optimization
Data Warehouse Optimization
 
Stop the Chaos! Get Real Oracle Performance by Query Tuning Part 2
Stop the Chaos! Get Real Oracle Performance by Query Tuning Part 2Stop the Chaos! Get Real Oracle Performance by Query Tuning Part 2
Stop the Chaos! Get Real Oracle Performance by Query Tuning Part 2
 
What are you waiting for
What are you waiting forWhat are you waiting for
What are you waiting for
 
Self-serve analytics journey at Celtra: Snowflake, Spark, and Databricks
Self-serve analytics journey at Celtra: Snowflake, Spark, and DatabricksSelf-serve analytics journey at Celtra: Snowflake, Spark, and Databricks
Self-serve analytics journey at Celtra: Snowflake, Spark, and Databricks
 
Mstr meetup
Mstr meetupMstr meetup
Mstr meetup
 
Orsyp Dollar Universe - Performance Management for SAP
Orsyp Dollar Universe - Performance Management for SAPOrsyp Dollar Universe - Performance Management for SAP
Orsyp Dollar Universe - Performance Management for SAP
 
Government and Education Webinar: SQL Server—Advanced Performance Tuning
Government and Education Webinar: SQL Server—Advanced Performance Tuning Government and Education Webinar: SQL Server—Advanced Performance Tuning
Government and Education Webinar: SQL Server—Advanced Performance Tuning
 
Cassandra Summit 2014: Internet of Complex Things Analytics with Apache Cassa...
Cassandra Summit 2014: Internet of Complex Things Analytics with Apache Cassa...Cassandra Summit 2014: Internet of Complex Things Analytics with Apache Cassa...
Cassandra Summit 2014: Internet of Complex Things Analytics with Apache Cassa...
 
How Nationwide and Tasktop Achieved Continuous Visibility Across the DevOps L...
How Nationwide and Tasktop Achieved Continuous Visibility Across the DevOps L...How Nationwide and Tasktop Achieved Continuous Visibility Across the DevOps L...
How Nationwide and Tasktop Achieved Continuous Visibility Across the DevOps L...
 
Performance tuning - A key to successful cassandra migration
Performance tuning - A key to successful cassandra migrationPerformance tuning - A key to successful cassandra migration
Performance tuning - A key to successful cassandra migration
 
Predicting When Your Applications Will Go Off the Rails! Managing DB2 Appli...
Predicting When Your Applications Will Go Off the Rails!  Managing DB2 Appli...Predicting When Your Applications Will Go Off the Rails!  Managing DB2 Appli...
Predicting When Your Applications Will Go Off the Rails! Managing DB2 Appli...
 
Migrating from Oracle to Postgres
Migrating from Oracle to PostgresMigrating from Oracle to Postgres
Migrating from Oracle to Postgres
 
MySQL Performance Schema : fossasia
MySQL Performance Schema : fossasiaMySQL Performance Schema : fossasia
MySQL Performance Schema : fossasia
 
The 15 ITIL Steps to DBaaS in the Cloud
The 15 ITIL Steps to DBaaS in the CloudThe 15 ITIL Steps to DBaaS in the Cloud
The 15 ITIL Steps to DBaaS in the Cloud
 
Stop the Chaos! Get Real Oracle Performance by Query Tuning Part 1
Stop the Chaos! Get Real Oracle Performance by Query Tuning Part 1Stop the Chaos! Get Real Oracle Performance by Query Tuning Part 1
Stop the Chaos! Get Real Oracle Performance by Query Tuning Part 1
 
Consolidate your data marts for fast, flexible analytics 5.24.18
Consolidate your data marts for fast, flexible analytics 5.24.18Consolidate your data marts for fast, flexible analytics 5.24.18
Consolidate your data marts for fast, flexible analytics 5.24.18
 
Capital One: Using Cassandra In Building A Reporting Platform
Capital One: Using Cassandra In Building A Reporting PlatformCapital One: Using Cassandra In Building A Reporting Platform
Capital One: Using Cassandra In Building A Reporting Platform
 
MySQL Manchester TT - MySQL Enterprise Edition
MySQL Manchester TT - MySQL Enterprise EditionMySQL Manchester TT - MySQL Enterprise Edition
MySQL Manchester TT - MySQL Enterprise Edition
 
Which Change Data Capture Strategy is Right for You?
Which Change Data Capture Strategy is Right for You?Which Change Data Capture Strategy is Right for You?
Which Change Data Capture Strategy is Right for You?
 
Monitorando performance no Azure SQL Database
Monitorando performance no Azure SQL DatabaseMonitorando performance no Azure SQL Database
Monitorando performance no Azure SQL Database
 

Plus de SAP Technology

SAP Integration Suite L1
SAP Integration Suite L1SAP Integration Suite L1
SAP Integration Suite L1SAP Technology
 
Future-Proof Your Business Processes by Automating SAP S/4HANA processes with...
Future-Proof Your Business Processes by Automating SAP S/4HANA processes with...Future-Proof Your Business Processes by Automating SAP S/4HANA processes with...
Future-Proof Your Business Processes by Automating SAP S/4HANA processes with...SAP Technology
 
7 Top Reasons to Automate Processes with SAP Intelligent Robotic Processes Au...
7 Top Reasons to Automate Processes with SAP Intelligent Robotic Processes Au...7 Top Reasons to Automate Processes with SAP Intelligent Robotic Processes Au...
7 Top Reasons to Automate Processes with SAP Intelligent Robotic Processes Au...SAP Technology
 
Extend SAP S/4HANA to deliver real-time intelligent processes
Extend SAP S/4HANA to deliver real-time intelligent processesExtend SAP S/4HANA to deliver real-time intelligent processes
Extend SAP S/4HANA to deliver real-time intelligent processesSAP Technology
 
Process optimization and automation for SAP S/4HANA with SAP’s Business Techn...
Process optimization and automation for SAP S/4HANA with SAP’s Business Techn...Process optimization and automation for SAP S/4HANA with SAP’s Business Techn...
Process optimization and automation for SAP S/4HANA with SAP’s Business Techn...SAP Technology
 
Accelerate your journey to SAP S/4HANA with SAP’s Business Technology Platform
Accelerate your journey to SAP S/4HANA with SAP’s Business Technology PlatformAccelerate your journey to SAP S/4HANA with SAP’s Business Technology Platform
Accelerate your journey to SAP S/4HANA with SAP’s Business Technology PlatformSAP Technology
 
Accelerate Your Move to an Intelligent Enterprise with SAP Cloud Platform and...
Accelerate Your Move to an Intelligent Enterprise with SAP Cloud Platform and...Accelerate Your Move to an Intelligent Enterprise with SAP Cloud Platform and...
Accelerate Your Move to an Intelligent Enterprise with SAP Cloud Platform and...SAP Technology
 
Transform your business with intelligent insights and SAP S/4HANA
Transform your business with intelligent insights and SAP S/4HANATransform your business with intelligent insights and SAP S/4HANA
Transform your business with intelligent insights and SAP S/4HANASAP Technology
 
SAP Cloud Platform for SAP S/4HANA: Accelerate your move to an Intelligent En...
SAP Cloud Platform for SAP S/4HANA: Accelerate your move to an Intelligent En...SAP Cloud Platform for SAP S/4HANA: Accelerate your move to an Intelligent En...
SAP Cloud Platform for SAP S/4HANA: Accelerate your move to an Intelligent En...SAP Technology
 
Innovate collaborative applications with SAP Jam Collaboration & SAP Cloud Pl...
Innovate collaborative applications with SAP Jam Collaboration & SAP Cloud Pl...Innovate collaborative applications with SAP Jam Collaboration & SAP Cloud Pl...
Innovate collaborative applications with SAP Jam Collaboration & SAP Cloud Pl...SAP Technology
 
The IoT Imperative for Consumer Products
The IoT Imperative for Consumer ProductsThe IoT Imperative for Consumer Products
The IoT Imperative for Consumer ProductsSAP Technology
 
The IoT Imperative for Discrete Manufacturers - Automotive, Aerospace & Defen...
The IoT Imperative for Discrete Manufacturers - Automotive, Aerospace & Defen...The IoT Imperative for Discrete Manufacturers - Automotive, Aerospace & Defen...
The IoT Imperative for Discrete Manufacturers - Automotive, Aerospace & Defen...SAP Technology
 
IoT is Enabling a New Era of Shareholder Value in Energy and Natural Resource...
IoT is Enabling a New Era of Shareholder Value in Energy and Natural Resource...IoT is Enabling a New Era of Shareholder Value in Energy and Natural Resource...
IoT is Enabling a New Era of Shareholder Value in Energy and Natural Resource...SAP Technology
 
The IoT Imperative in Government and Healthcare
The IoT Imperative in Government and HealthcareThe IoT Imperative in Government and Healthcare
The IoT Imperative in Government and HealthcareSAP Technology
 
SAP S/4HANA Finance and the Digital Core
SAP S/4HANA Finance and the Digital CoreSAP S/4HANA Finance and the Digital Core
SAP S/4HANA Finance and the Digital CoreSAP Technology
 
Five Reasons To Skip SAP Suite on HANA and Go Directly to SAP S/4HANA
Five Reasons To Skip SAP Suite on HANA and Go Directly to SAP S/4HANAFive Reasons To Skip SAP Suite on HANA and Go Directly to SAP S/4HANA
Five Reasons To Skip SAP Suite on HANA and Go Directly to SAP S/4HANASAP Technology
 
SAP Helps Reduce Silos Between Business and Spatial Data
SAP Helps Reduce Silos Between Business and Spatial DataSAP Helps Reduce Silos Between Business and Spatial Data
SAP Helps Reduce Silos Between Business and Spatial DataSAP Technology
 
Spotlight on Financial Services with Calypso and SAP ASE
Spotlight on Financial Services with Calypso and SAP ASESpotlight on Financial Services with Calypso and SAP ASE
Spotlight on Financial Services with Calypso and SAP ASESAP Technology
 
Spark Usage in Enterprise Business Operations
Spark Usage in Enterprise Business OperationsSpark Usage in Enterprise Business Operations
Spark Usage in Enterprise Business OperationsSAP Technology
 

Plus de SAP Technology (20)

SAP Integration Suite L1
SAP Integration Suite L1SAP Integration Suite L1
SAP Integration Suite L1
 
Future-Proof Your Business Processes by Automating SAP S/4HANA processes with...
Future-Proof Your Business Processes by Automating SAP S/4HANA processes with...Future-Proof Your Business Processes by Automating SAP S/4HANA processes with...
Future-Proof Your Business Processes by Automating SAP S/4HANA processes with...
 
7 Top Reasons to Automate Processes with SAP Intelligent Robotic Processes Au...
7 Top Reasons to Automate Processes with SAP Intelligent Robotic Processes Au...7 Top Reasons to Automate Processes with SAP Intelligent Robotic Processes Au...
7 Top Reasons to Automate Processes with SAP Intelligent Robotic Processes Au...
 
Extend SAP S/4HANA to deliver real-time intelligent processes
Extend SAP S/4HANA to deliver real-time intelligent processesExtend SAP S/4HANA to deliver real-time intelligent processes
Extend SAP S/4HANA to deliver real-time intelligent processes
 
Process optimization and automation for SAP S/4HANA with SAP’s Business Techn...
Process optimization and automation for SAP S/4HANA with SAP’s Business Techn...Process optimization and automation for SAP S/4HANA with SAP’s Business Techn...
Process optimization and automation for SAP S/4HANA with SAP’s Business Techn...
 
Accelerate your journey to SAP S/4HANA with SAP’s Business Technology Platform
Accelerate your journey to SAP S/4HANA with SAP’s Business Technology PlatformAccelerate your journey to SAP S/4HANA with SAP’s Business Technology Platform
Accelerate your journey to SAP S/4HANA with SAP’s Business Technology Platform
 
Accelerate Your Move to an Intelligent Enterprise with SAP Cloud Platform and...
Accelerate Your Move to an Intelligent Enterprise with SAP Cloud Platform and...Accelerate Your Move to an Intelligent Enterprise with SAP Cloud Platform and...
Accelerate Your Move to an Intelligent Enterprise with SAP Cloud Platform and...
 
Transform your business with intelligent insights and SAP S/4HANA
Transform your business with intelligent insights and SAP S/4HANATransform your business with intelligent insights and SAP S/4HANA
Transform your business with intelligent insights and SAP S/4HANA
 
SAP Cloud Platform for SAP S/4HANA: Accelerate your move to an Intelligent En...
SAP Cloud Platform for SAP S/4HANA: Accelerate your move to an Intelligent En...SAP Cloud Platform for SAP S/4HANA: Accelerate your move to an Intelligent En...
SAP Cloud Platform for SAP S/4HANA: Accelerate your move to an Intelligent En...
 
Innovate collaborative applications with SAP Jam Collaboration & SAP Cloud Pl...
Innovate collaborative applications with SAP Jam Collaboration & SAP Cloud Pl...Innovate collaborative applications with SAP Jam Collaboration & SAP Cloud Pl...
Innovate collaborative applications with SAP Jam Collaboration & SAP Cloud Pl...
 
The IoT Imperative for Consumer Products
The IoT Imperative for Consumer ProductsThe IoT Imperative for Consumer Products
The IoT Imperative for Consumer Products
 
The IoT Imperative for Discrete Manufacturers - Automotive, Aerospace & Defen...
The IoT Imperative for Discrete Manufacturers - Automotive, Aerospace & Defen...The IoT Imperative for Discrete Manufacturers - Automotive, Aerospace & Defen...
The IoT Imperative for Discrete Manufacturers - Automotive, Aerospace & Defen...
 
IoT is Enabling a New Era of Shareholder Value in Energy and Natural Resource...
IoT is Enabling a New Era of Shareholder Value in Energy and Natural Resource...IoT is Enabling a New Era of Shareholder Value in Energy and Natural Resource...
IoT is Enabling a New Era of Shareholder Value in Energy and Natural Resource...
 
The IoT Imperative in Government and Healthcare
The IoT Imperative in Government and HealthcareThe IoT Imperative in Government and Healthcare
The IoT Imperative in Government and Healthcare
 
SAP S/4HANA Finance and the Digital Core
SAP S/4HANA Finance and the Digital CoreSAP S/4HANA Finance and the Digital Core
SAP S/4HANA Finance and the Digital Core
 
Five Reasons To Skip SAP Suite on HANA and Go Directly to SAP S/4HANA
Five Reasons To Skip SAP Suite on HANA and Go Directly to SAP S/4HANAFive Reasons To Skip SAP Suite on HANA and Go Directly to SAP S/4HANA
Five Reasons To Skip SAP Suite on HANA and Go Directly to SAP S/4HANA
 
SAP Helps Reduce Silos Between Business and Spatial Data
SAP Helps Reduce Silos Between Business and Spatial DataSAP Helps Reduce Silos Between Business and Spatial Data
SAP Helps Reduce Silos Between Business and Spatial Data
 
Why SAP HANA?
Why SAP HANA?Why SAP HANA?
Why SAP HANA?
 
Spotlight on Financial Services with Calypso and SAP ASE
Spotlight on Financial Services with Calypso and SAP ASESpotlight on Financial Services with Calypso and SAP ASE
Spotlight on Financial Services with Calypso and SAP ASE
 
Spark Usage in Enterprise Business Operations
Spark Usage in Enterprise Business OperationsSpark Usage in Enterprise Business Operations
Spark Usage in Enterprise Business Operations
 

Dernier

Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024The Digital Insurer
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
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
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
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
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
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
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 

Dernier (20)

Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
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
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
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
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 

Advanced ASE Performance Tuning Tips

  • 1. 1 Advanced ASE Performance Tuning Tips Janis Griffin Senior DBA / Performance Evangelist
  • 2. 2 © 2015 SOLARWINDS Who Am I? » Senior DBA / Performance Evangelist for Solarwinds § Janis.Griffin@solarwinds.com § Twitter - @DoBoutAnything § Current – 25+ Years in Oracle, Sybase, SQL Server § DBA and Developer » Specialize in Performance Tuning » Review Database Performance for Customers and Prospects » Common Thread – Paralyzed by Tuning
  • 3. 3 © 2015 SOLARWINDS Before we start, do you know…  » The most important problem in your database instance? » » If that new program is hurting database performance? » » Did that recent fix really solved the database issue? » » Which bottlenecks in your database directly impacted end- user service? »
  • 4. 4 © 2015 SOLARWINDS Agenda - 4 Tips » Focus on Tuning Queries  » Utilize Response Time Analysis (RTA)  » Examine Query Execution Plans  » Use SQL or Query Diagramming § Who registered yesterday for Tuning Class § Check order status § Current paychecks for specific employees §
  • 5. 5 © 2015 SOLARWINDS Why Focus on Queries » Most Applications § Read and Write data to/from database § Simple manipulation of data § Deal with smaller amounts of data » Most Databases § Examine larger amounts of data, return a little § Inefficiencies quickly become bottleneck » Why do SQL tuning? § “Gives the biggest bang for your buck” § Changes to SQL are Safer § Most of performance issues are SQL related
  • 6. 6 © 2015 SOLARWINDS Challenges Of Tuning » SQL Tuning is Hard § Who should tune – DBA or Developer § Which SQL to tune § » Requires Expertise in Many Areas § Technical – Plan, Data Access, SQL Design § Business – What is the Purpose of SQL? § » Tuning Takes Time § Large Number of SQL Statements § Each Statement is Different § » Low Priority in Some Companies § Vendor Applications § Focus on Hardware or System Issues § » Never Ending
  • 7. 7 © 2015 SOLARWINDS Which SQL to Tune Methods for Identifying  » User / Batch Job Complaints § Known Poorly Performing SQL § Trace Session/Process § » Queries Performing Most I/O (LIO / PIO) § Table or Index Scans  » Queries Consuming CPU  » Highest Response Times - DPA (formally Ignite)  
  • 8. 8 © 2015 SOLARWINDS Response Time Analysis (RTA) §Understand the total time a Query spends in Database §Measure time while Query executes §SAP ASE helps by providing Wait Events Focus on Response Time
  • 9. 9 © 2015 SOLARWINDS Wait Time Tables (ASE 12.5.0.3+) http://froebe.net/blog/wp-content/uploads/2013/09/ASE-15.7-Monitoring-Tables-Diagram-Sybase-Inc_.pdf
  • 10. 10 © 2015 SOLARWINDS Response Time Query » MDA Query Example  SELECT mP.Login, mP.DBName, mPL.ClientHost,  RTRIM(mPL.Application), mPP.ObjectName,  mP.WaitEventID, mPS.SQLText, mPS.BatchID,  mPS.LineNumber, mP.LineNumber CurrentLineNumber FROM monProcessSQLText mPS,  monProcessLookup mPL,  (monProcess mPLEFT OUTER JOIN  monProcessProcedures mPP  ON mP.SPID=mPP.SPID AND mP.KPID=mPP.KPID) WHERE mP.SPID=mPL.SPID AND mP.KPID=mPL.KPID AND mP.SPID=mPS.SPID AND mP.KPID=mPS.KPID AND coalesce(mP.FamilyID,0) = 0 AND mP.BatchID > 0 
  • 11. 11 © 2015 SOLARWINDS Top Wait Events At Server Level select WaitEventID,  convert(numeric(16,0),Waits) as "Waits",  convert(numeric(16,0),WaitTime) as "WaitTime"  into #waits1  from monSysWaits go select Description,  convert(int,sum(w.Waits)) as "Count",  convert(int,sum(w.WaitTime)/1000) as "Seconds"  from #waits1 w,  monWaitEventInfo ei  where w.WaitEventID = ei.WaitEventID  group by Description  order by 3 desc
  • 12. 12 © 2015 SOLARWINDS RTA – Proactive Refreshed on :08/12/14 02:35:18 PM
  • 13. 13 © 2015 SOLARWINDS Users Complain: 10am – 12pm Slow Top 15 SQL Statements | GIBSON:5000 | August 8, 2014 to August 12, 2014 Daily Time Range: 10:00 AM-12:00 PM
  • 14. 14 © 2015 SOLARWINDS RTA – Firefighting Day: Tuesday – August 10,2014 Refreshed on: 08/12/2014 05:09:57 PM
  • 15. 15 © 2015 SOLARWINDS RTA - Blocking Issue Day: Tuesday – August 10,2014 Refreshed on: 08/12/2014 05:02:02 SQL Statements Executed by Blocking Session 125 while Holding the Lock | GIBSON:5000 August 10, 2014 – 12:00PM to 4:00PM
  • 16. 16 © 2015 SOLARWINDS RTA – Long Term Trends Top 15 SQL Statements | GIBSON:5000 | July 31,2014 to August 24, 2014
  • 17. 17 © 2015 SOLARWINDS RTA – Current Problem Refreshed on: 08/12/2014 05:34:42 PM
  • 18. 18 © 2015 SOLARWINDS RTA – Current Problem Refreshed on: 08/12/2014 05:39:06 PM
  • 19. 19 © 2015 SOLARWINDS Identify End-to-END Time Accurate End-to-End Response Time Analysis
  • 20. 20 © 2015 SOLARWINDS Get Table & COLUMN Info » Understand objects in execution plans § Table Definitions & Segment sizes • Is it a View – get underlying definition • Number of Rows / Partitioning  § Examine Columns in Where Clause • Cardinality of columns • Data Skew / Histograms § § Statistic Gathering • Tip: Out-of-date statistics can impact performance  » Understand expensive data access targets § TableScans versus IndexScans § » Know the indexes – if multi-column, order is important
  • 21. 21 © 2015 SOLARWINDS Get The Execution Plan » SET SHOWPLAN ON § set statistics io, time on  simulate, subquerycache, plancost § set noexec on  http://help.sap.com/Download/Multimedia/ASE_16.0/ptstats.pdf » Interactive SQL (Sybase iAnyWhere or SAP dbisql) § Plan Viewer– must execute query § Details, XML & Advanced (abstract & missing) » Abstract Plans-sysqueryplans /sysquerymetrics § sp_configure'enable metrics capture', 1 » Application Tracing (v15.0.2+) § set tracefile "<file-path>" for <spid> § Works when you know a problem will occur 
  • 22. 22 © 2015 SOLARWINDS Get The Execution Plan - tracing set statistics plancost on set tracefile ’/db1/trc/trc32.tx’ for 32
  • 23. © 2015 SOLARWINDS Examine the Execution Plan » Find Expensive Operators § Examine cost of each step § Look for full table or index scans  » Review the ‘restrict’ & ‘sort’ operators § Are the ‘restrict’ steps early in plan? § Large sorts that don’t fit into memory § Look for Implicit conversions when using parmeters » Review JOIN operators § Nested loop • effective when there is a useful index available § Merge Join • good when most of the rows must be processed and they are already sorted by join keys § Hash Join • good when most of the rows from source sets are processed § Nary Nested Loop • More efficient when you have more than 2 nested loops 23
  • 24. © 2015 SOLARWINDS Engineer out the Stupid  » Look for Performance Inhibitors  § Cursor or row by row processing  § Parallel processing - OLAP vs OLTP § § Hard-coded Hints § § Nested views that use link servers  § Abuse of Wild Cards (*) or No Where Clause § § Code-based SQL Generators (e.g. Hibernate) § § Non-SARG-able / Scalar Functions • Select… where upper(first_name) = ‘JANIS’  24
  • 26. 26 © 2015 SOLARWINDS » Who registered yesterday for SQL Tuning  SELECT s.FNAME, s.LNAME, r.SIGNUP_DATE FROM STUDENT s INNER JOIN REGISTRATION r ON s.STUDENT_ID = r.STUDENT_ID INNER JOIN CLASS c ON r.CLASS_ID = c.CLASS_ID WHERE c.NAME = 'SQL TUNING' AND r.SIGNUP_DATE BETWEEN @BegDate AND @EndDate AND r.CANCELLED = 'N‘  Case Study 1
  • 27. 27 © 2015 SOLARWINDS Relationship Diagram for Tables in Query
  • 29. 29 © 2015 SOLARWINDS SQL Diagramming » Great Book “SQL Tuning” by Dan Tow § Great book that teaches SQL Diagramming § http://www.singingsql.com REGISTRATION STUDENT CLASS 5 1 3 0 1 . 05 . 002 select count(1) from registration where cancelled = 'N' and signup_date between '2015-01-29 00:00' and '2015-01-30 00:00' 4,141 / 79,999 = 0.05 select count(1) from class where name = 'SQL TUNING' 2 / 1,000 = .002
  • 30. 30 © 2015 SOLARWINDS create index cl_name ON CLASS(NAME) New Execution Plan Why would an TableScan still occur on REGISTRATION?
  • 32. 32 © 2015 SOLARWINDS create index reg_alt on REGISTRATION(CLASS_ID) New Execution Plan
  • 33. 33 © 2015 SOLARWINDS create index reg_alt ON REGISTRATION  (CLASS_ID, SIGNUP_DATE,CANCELLED) Better Execution Plan
  • 34. 34 © 2015 SOLARWINDS » Lookup Shipment Status for caller  SELECT o.OrderID, c.FirstName, c.LastName,  p.ProductID, p.Description,  s.ActualShipDate, s.ShipStatus, s.ExpectedShipDate FROM SalesOrder o INNER JOIN OrderItem i ON i.OrderID = o.OrderID INNER JOIN Customer c ON c.CustomerID = o.CustomerID INNER JOIN Shipment s ON s.ShipmentID = i.ShipmentID LEFT OUTER JOIN Product p ON p.ProductID = i.ProductID LEFT OUTER JOIN Address a ON a.AddressID = s.AddressID WHERE c.LastName LIKE ISNULL('Griffin','') + '%' AND o.OrderDate >= DATEADD(day, -30,getdate()) AND s.ShipStatus <> 'C' order by LastName  Case Study 2
  • 37. 37 © 2015 SOLARWINDS SQL Diagramming o .02 .005 SELECT COUNT(1)*1.0/(SELECT COUNT(1) FROM Customer) FROM Customer WHERE LastName LIKE 'Griffin%' 0.005 SELECT COUNT(1)*1.0/(SELECT COUNT(1) FROM [SalesOrder]) FROM [SalesOrder] WHERE OrderDate >= DATEADD(day, -30, GETDATE()) .02 SELECT COUNT(1)*1.0/(SELECT COUNT(1) FROM [Shipment]) FROM [Shipment] WHERE ShipStatus <> 'C' .04 i c ps a . 04
  • 38. 38 © 2015 SOLARWINDS New Execution Plan » CREATE INDEX CUST_LASTNAME ON Customer(LastName) »
  • 39. 39 © 2015 SOLARWINDS SQL Diagramming o .02 .005 SELECT COUNT(1)*1.0/(SELECT COUNT(1) FROM Customer) FROM Customer WHERE LastName LIKE 'Griffin%' 0.005 SELECT COUNT(1)*1.0/(SELECT COUNT(1) FROM [SalesOrder]) FROM [SalesOrder] WHERE OrderDate >= DATEADD(day, -30, GETDATE()) .02 SELECT COUNT(1)*1.0/(SELECT COUNT(1) FROM [Shipment]) FROM [Shipment] WHERE ShipStatus <> 'C' .04 i c ps a . 04
  • 40. 40 © 2015 SOLARWINDS CREATE INDEX SALESORDER_ODATE ON SalesOrder (OrderDate) New Execution Plan
  • 41. 41 © 2015 SOLARWINDS SQL Diagramming o .02 .005 SELECT COUNT(1)*1.0/(SELECT COUNT(1) FROM Customer) FROM Customer WHERE LastName LIKE 'Griffin%' 0.005 SELECT COUNT(1)*1.0/(SELECT COUNT(1) FROM [SalesOrder]) FROM [SalesOrder] WHERE OrderDate >= DATEADD(day, -30, GETDATE()) .02 SELECT COUNT(1)*1.0/(SELECT COUNT(1) FROM [Shipment]) FROM [Shipment] WHERE ShipStatus <> 'C' .04 i c ps a . 04
  • 42. 42 © 2015 SOLARWINDS Data Skew Problems » Only 4% of rows are <> ‘C’ » How about changing the query? § AND s.ShipStatus = 'I' » Add Histogram on ShipStatus  SELECT ShipStatus, COUNT(1)Cnt FROM [Shipment] GROUP BY ShipStatus
  • 43. 43 © 2015 SOLARWINDS UPDATE STATISTICS example.dbo.Shipment (ShipStatus) go New Execution Plan
  • 44. 44 © 2015 SOLARWINDS Case Study 3 » Current paychecks for specific employees   SELECT e.empno, e.first_name, e.last_name,  d.dname,l.street_address,l.city,  l.state_province, l.postal_code  FROM emp e  INNER JOIN dept d ON e.deptno = d.deptno  INNER JOIN loc l ON d.location_id = l.location_id  WHERE (e.first_name = @first or e.last_name = @last)  AND EXISTS (  SELECT 1  FROM wage_pmt w  WHERE w.empno = e.empno  AND w.pay_date>= DATEADD(day,-31,GETDATE())  )  » Execution Stats – 6681 Logical I/O » Average Execution - 15.012 seconds » Resource - 99% CPU 
  • 46. 46 © 2015 SOLARWINDS SQL Diagramming select count(1) from wage_pmt where pay_date >= DATEADD(day,-31,GETDATE()) 109568 / 1027192 = .106 select max(cnt), min(cnt) from (select last_name, count(1) cnt from emp group by last_name) 128 / 6848 = .018 – max 64 /= 6848 = .009 – min emp dept wage_pmt 1000 1 150 1 .02 .10 loc 1 9 .009
  • 47. 47 © 2015 SOLARWINDS New Execution Plan » create index IX_EMP_LN on emp(last_name) » Create index IX_EMP_FN on emp(first_name
  • 48. 48 © 2015 SOLARWINDS Wage_Pmt table – no index on empno
  • 49. 49 © 2015 SOLARWINDS Better Execution Plan » create index IX_WAGE_EMPNO on wage_pmt(empno) » » » » » » » » » » »    Execution time = 0.546 seconds
  • 50. 50 © 2015 SOLARWINDS Best execution Plan Covered Index: create index IX_EMP on emp(empno, last_name, first_name, deptno) Time: 0.066 secs
  • 51. 51 © 2015 SOLARWINDS Monitor » Monitor the improvement § Be able to prove that tuning made a difference § Take new metric measurements § Compare them to initial readings § Brag about the improvements – no one else will » Monitor for next tuning opportunity § Tuning is iterative § There is always room for improvement § Make sure you tune things that make a difference » Shameless Product Pitch - DPA
  • 52. 52 © 2015 SOLARWINDS Improved Performance Average Wait Time per Execution for SQL Statement Current Paychecks by Name | GIBSON:5000 March 15, 2015 Daily Time Range: 5:00 PM-12:00 AM Logical Reads = 1198 Execution Time = .066 seconds
  • 53. © 2015 SOLARWINDS Takeaway Points » Tuning Queries gives more “bang for the buck” » Make sure you are tuning the correct query » Use Wait Events and Response Time Analysis § Locking problems may not be a Query Tuning issue § Wait Events tell you where to start » Use “Execution or Query Plans” » SQL Diagramming - “Get it right the First Time” § Query Tuner Tools can mislead you » Monitor for next tuning opportunity
  • 54. www.solarwinds.com/dpa-download/ Resolve performance issues quickly—free trial Try Database Performance Analyzer FREE for 14 days Improve root cause of slow performance  Quickly identify root cause of issues that impact end-user response time  See historical trends over days, months, and years  Understand impact of VMware® performance  Agentless architecture with no dependence on Oracle Packs, installs in minutes 
  • 55. © 2014 SOLARWINDS WORLDWIDE, LLC.  ALL RIGHTS RESERVED. The SOLARWINDS and SOLARWINDS & Design marks are the exclusive property of SolarWinds Worldwide, LLC, are registered with the U.S. Patent and Trademark Office, and may be registered or pending registration in other countries. All other SolarWinds trademarks, service marks, and logos may be common law marks, registered or pending registration in the United States or in other countries. All other trademarks mentioned herein are used for identification purposes only and may be or are trademarks or registered trademarks of their respective companies. Thank You! Q & A