SlideShare a Scribd company logo
1 of 55
Download to read offline
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

More Related Content

What's hot

Make Your Application “Oracle RAC Ready” & Test For It
Make Your Application “Oracle RAC Ready” & Test For ItMake Your Application “Oracle RAC Ready” & Test For It
Make Your Application “Oracle RAC Ready” & Test For ItMarkus Michalewicz
 
Oracle RAC Virtualized - In VMs, in Containers, On-premises, and in the Cloud
Oracle RAC Virtualized - In VMs, in Containers, On-premises, and in the CloudOracle RAC Virtualized - In VMs, in Containers, On-premises, and in the Cloud
Oracle RAC Virtualized - In VMs, in Containers, On-premises, and in the CloudMarkus Michalewicz
 
All of the Performance Tuning Features in Oracle SQL Developer
All of the Performance Tuning Features in Oracle SQL DeveloperAll of the Performance Tuning Features in Oracle SQL Developer
All of the Performance Tuning Features in Oracle SQL DeveloperJeff Smith
 
Oracle statistics by example
Oracle statistics by exampleOracle statistics by example
Oracle statistics by exampleMauro Pagano
 
Architecting Agile Data Applications for Scale
Architecting Agile Data Applications for ScaleArchitecting Agile Data Applications for Scale
Architecting Agile Data Applications for ScaleDatabricks
 
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
 
Oracle Database Performance Tuning Advanced Features and Best Practices for DBAs
Oracle Database Performance Tuning Advanced Features and Best Practices for DBAsOracle Database Performance Tuning Advanced Features and Best Practices for DBAs
Oracle Database Performance Tuning Advanced Features and Best Practices for DBAsZohar Elkayam
 
OLAP for Big Data (Druid vs Apache Kylin vs Apache Lens)
OLAP for Big Data (Druid vs Apache Kylin vs Apache Lens)OLAP for Big Data (Druid vs Apache Kylin vs Apache Lens)
OLAP for Big Data (Druid vs Apache Kylin vs Apache Lens)SANG WON PARK
 
The Rise of ZStandard: Apache Spark/Parquet/ORC/Avro
The Rise of ZStandard: Apache Spark/Parquet/ORC/AvroThe Rise of ZStandard: Apache Spark/Parquet/ORC/Avro
The Rise of ZStandard: Apache Spark/Parquet/ORC/AvroDatabricks
 
Zero to Snowflake Presentation
Zero to Snowflake Presentation Zero to Snowflake Presentation
Zero to Snowflake Presentation Brett VanderPlaats
 
Best Practice of Compression/Decompression Codes in Apache Spark with Sophia...
 Best Practice of Compression/Decompression Codes in Apache Spark with Sophia... Best Practice of Compression/Decompression Codes in Apache Spark with Sophia...
Best Practice of Compression/Decompression Codes in Apache Spark with Sophia...Databricks
 
YugaByte DB Internals - Storage Engine and Transactions
YugaByte DB Internals - Storage Engine and Transactions YugaByte DB Internals - Storage Engine and Transactions
YugaByte DB Internals - Storage Engine and Transactions Yugabyte
 
Deep Dive into Spark SQL with Advanced Performance Tuning with Xiao Li & Wenc...
Deep Dive into Spark SQL with Advanced Performance Tuning with Xiao Li & Wenc...Deep Dive into Spark SQL with Advanced Performance Tuning with Xiao Li & Wenc...
Deep Dive into Spark SQL with Advanced Performance Tuning with Xiao Li & Wenc...Databricks
 
Azure Synapse Analytics Overview (r1)
Azure Synapse Analytics Overview (r1)Azure Synapse Analytics Overview (r1)
Azure Synapse Analytics Overview (r1)James Serra
 
Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...
Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...
Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...Aaron Shilo
 
Delta lake and the delta architecture
Delta lake and the delta architectureDelta lake and the delta architecture
Delta lake and the delta architectureAdam Doyle
 
Oracle Performance Tools of the Trade
Oracle Performance Tools of the TradeOracle Performance Tools of the Trade
Oracle Performance Tools of the TradeCarlos Sierra
 
Performance Tuning And Optimization Microsoft SQL Database
Performance Tuning And Optimization Microsoft SQL DatabasePerformance Tuning And Optimization Microsoft SQL Database
Performance Tuning And Optimization Microsoft SQL DatabaseTung Nguyen Thanh
 
How to govern and secure a Data Mesh?
How to govern and secure a Data Mesh?How to govern and secure a Data Mesh?
How to govern and secure a Data Mesh?confluent
 

What's hot (20)

Make Your Application “Oracle RAC Ready” & Test For It
Make Your Application “Oracle RAC Ready” & Test For ItMake Your Application “Oracle RAC Ready” & Test For It
Make Your Application “Oracle RAC Ready” & Test For It
 
Oracle RAC Virtualized - In VMs, in Containers, On-premises, and in the Cloud
Oracle RAC Virtualized - In VMs, in Containers, On-premises, and in the CloudOracle RAC Virtualized - In VMs, in Containers, On-premises, and in the Cloud
Oracle RAC Virtualized - In VMs, in Containers, On-premises, and in the Cloud
 
All of the Performance Tuning Features in Oracle SQL Developer
All of the Performance Tuning Features in Oracle SQL DeveloperAll of the Performance Tuning Features in Oracle SQL Developer
All of the Performance Tuning Features in Oracle SQL Developer
 
Oracle statistics by example
Oracle statistics by exampleOracle statistics by example
Oracle statistics by example
 
Architecting Agile Data Applications for Scale
Architecting Agile Data Applications for ScaleArchitecting Agile Data Applications for Scale
Architecting Agile Data Applications for Scale
 
The Science of DBMS: Query Optimization
The Science of DBMS: Query Optimization The Science of DBMS: Query Optimization
The Science of DBMS: Query Optimization
 
Oracle Database Performance Tuning Advanced Features and Best Practices for DBAs
Oracle Database Performance Tuning Advanced Features and Best Practices for DBAsOracle Database Performance Tuning Advanced Features and Best Practices for DBAs
Oracle Database Performance Tuning Advanced Features and Best Practices for DBAs
 
OLAP for Big Data (Druid vs Apache Kylin vs Apache Lens)
OLAP for Big Data (Druid vs Apache Kylin vs Apache Lens)OLAP for Big Data (Druid vs Apache Kylin vs Apache Lens)
OLAP for Big Data (Druid vs Apache Kylin vs Apache Lens)
 
The Rise of ZStandard: Apache Spark/Parquet/ORC/Avro
The Rise of ZStandard: Apache Spark/Parquet/ORC/AvroThe Rise of ZStandard: Apache Spark/Parquet/ORC/Avro
The Rise of ZStandard: Apache Spark/Parquet/ORC/Avro
 
Screw DevOps, Let's Talk DataOps
Screw DevOps, Let's Talk DataOpsScrew DevOps, Let's Talk DataOps
Screw DevOps, Let's Talk DataOps
 
Zero to Snowflake Presentation
Zero to Snowflake Presentation Zero to Snowflake Presentation
Zero to Snowflake Presentation
 
Best Practice of Compression/Decompression Codes in Apache Spark with Sophia...
 Best Practice of Compression/Decompression Codes in Apache Spark with Sophia... Best Practice of Compression/Decompression Codes in Apache Spark with Sophia...
Best Practice of Compression/Decompression Codes in Apache Spark with Sophia...
 
YugaByte DB Internals - Storage Engine and Transactions
YugaByte DB Internals - Storage Engine and Transactions YugaByte DB Internals - Storage Engine and Transactions
YugaByte DB Internals - Storage Engine and Transactions
 
Deep Dive into Spark SQL with Advanced Performance Tuning with Xiao Li & Wenc...
Deep Dive into Spark SQL with Advanced Performance Tuning with Xiao Li & Wenc...Deep Dive into Spark SQL with Advanced Performance Tuning with Xiao Li & Wenc...
Deep Dive into Spark SQL with Advanced Performance Tuning with Xiao Li & Wenc...
 
Azure Synapse Analytics Overview (r1)
Azure Synapse Analytics Overview (r1)Azure Synapse Analytics Overview (r1)
Azure Synapse Analytics Overview (r1)
 
Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...
Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...
Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...
 
Delta lake and the delta architecture
Delta lake and the delta architectureDelta lake and the delta architecture
Delta lake and the delta architecture
 
Oracle Performance Tools of the Trade
Oracle Performance Tools of the TradeOracle Performance Tools of the Trade
Oracle Performance Tools of the Trade
 
Performance Tuning And Optimization Microsoft SQL Database
Performance Tuning And Optimization Microsoft SQL DatabasePerformance Tuning And Optimization Microsoft SQL Database
Performance Tuning And Optimization Microsoft SQL Database
 
How to govern and secure a Data Mesh?
How to govern and secure a Data Mesh?How to govern and secure a Data Mesh?
How to govern and secure a Data Mesh?
 

Viewers also liked

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
 

Viewers also liked (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!
 

Similar to 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
 

Similar to 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
 

More from 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
 

More from 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
 

Recently uploaded

"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 

Recently uploaded (20)

"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 

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