The document discusses techniques for refactoring SQL queries to improve performance, including rewriting queries to filter data earlier, correcting improper outer joins, avoiding duplicate predicates and tables, and breaking up OR clauses. It also explains how to test SQL performance by naming queries, collecting statistics, and reviewing execution plans and monitoring reports. The speaker will cover common situations that call for refactoring SQL and how to transform queries using techniques like view merging, filter push-down, and join factorization.
This presentation features the fundamentals of SQL tunning like SQL Processing, Optimizer and Execution Plan, Accessing Tables, Performance Improvement Consideration Partition Technique. Presented by Alphalogic Inc : https://www.alphalogicinc.com/
This presentation deals with the advanced features of SQL comprising of Arithmetic Calculations, Analytical Function, PIVOT etc. Presented by Alphalogic Inc: https://www.alphalogicinc.com/
This paper describes the evolution of the Plan table and DBMSX_PLAN in 11g and some of the features that can be used to troubelshoot SQL performance effectively and efficiently.
Oracle 11g new features for developersScott Wesley
Abstract: There are a wealth of new features available in the 11g database release. This presentation touches on SQL & PL/SQL features I found of interest, and concentrates particularly on virtual columns.
Relevant scripts found at my blog
http://grassroots-oracle.com/2009/07/presentations.html#11gNewFeatures
This presentation features the fundamentals of SQL tunning like SQL Processing, Optimizer and Execution Plan, Accessing Tables, Performance Improvement Consideration Partition Technique. Presented by Alphalogic Inc : https://www.alphalogicinc.com/
This presentation deals with the advanced features of SQL comprising of Arithmetic Calculations, Analytical Function, PIVOT etc. Presented by Alphalogic Inc: https://www.alphalogicinc.com/
This paper describes the evolution of the Plan table and DBMSX_PLAN in 11g and some of the features that can be used to troubelshoot SQL performance effectively and efficiently.
Oracle 11g new features for developersScott Wesley
Abstract: There are a wealth of new features available in the 11g database release. This presentation touches on SQL & PL/SQL features I found of interest, and concentrates particularly on virtual columns.
Relevant scripts found at my blog
http://grassroots-oracle.com/2009/07/presentations.html#11gNewFeatures
The optimizer is the "brain" of the database, interpreting SQL queries and determining the fastest method of execution. In this talk by Bruce Momjian, Senior Database Architect at EnterpriseDB and co-founder of the PostgreSQL Global Development Group, uses the explain command to show how the optimizer interprets queries and determines optimal execution. The talk aimed at assisting developers and administrators in understanding how Postgres optimally executes their queries and what steps they can take to understand and perhaps improve its behavior.
The optimizer is the "brain" of the database, interpreting SQL queries and determining the fastest method of execution. In this talk by Bruce Momjian, Senior Database Architect at EnterpriseDB and co-founder of the PostgreSQL Global Development Group, uses the explain command to show how the optimizer interprets queries and determines optimal execution. The talk aimed at assisting developers and administrators in understanding how Postgres optimally executes their queries and what steps they can take to understand and perhaps improve its behavior.
In this first of a series of presentations, we'll overview the differences between SQL and PL/SQL, and the first steps in optimization, as understanding RULE vs. COST, and how to slash 90% response time in data extractions running in SQL*Plus.
Ground Breakers Romania: Explain the explain_planMaria Colgan
This session was delivered as part of the EMEA Ground Breakers tour in Romania, Oct. 2019. The execution plan for a SQL statement can often seem complicated and hard to understand. Determining if the execution plan you are looking at is the best plan you could get or attempting to improve a poorly performing execution plan can be a daunting task even for the most experienced DBA or developer. This session examines the different aspects of an execution plan, from selectivity to parallel execution and explains what information you should be gleaming from the plan and how it affects the execution. It offers insight into what caused the Optimizer to make the decision it did as well as a set of corrective measures that can be used to improve each aspect of the plan.
Design and develop with performance in mind
Establish a tuning environment
Index wisely
Reduce parsing
Take advantage of Cost Based Optimizer
Avoid accidental table scans
Optimize necessary table scans
Optimize joins
Use array processing
Consider PL/SQL for “tricky” SQL
Part 3 of the SQL Tuning workshop examines the different aspects of an execution plan, from cardinality estimates to parallel execution and explains what information you should be gleaming from the plan and how it affects the execution. It offers insight into what caused the Optimizer to make the decision it did as well as a set of corrective measures that can be used to improve each aspect of the plan.
ADAPTIVE FEATURES OR: HOW I LEARNED TO STOP WORRYING AND TROUBLESHOOT THE BOMBLudovico Caldara
Oracle Database 12c became available to the public back in 2013, but it took more than one year for the
Oracle customers to start upgrading of their existing databases to this new release. Many customers, in
2016, are still not in the process of migrating to 12c despite the premier support deadline for Oracle
Database 11g has passed in January 2015.
I had the chance to spend the last two years by a customer who decided to embrace the new release
and start the migration to 12c as soon as possible, in order to take the most out of the (many) new
features that this release offers. When the very first production databases have been migrated to 12c,
the users began noticing quite soon that some queries started to take much more time to complete,
some of them were actually several orders of magnitude slower than before. After small investigation, I
understood that most off those queries have been slowed down by the new “Adaptive Features” that
have been introduced in 12c for the opposite reason: increasing performance. This is what this article
is about.
This is a paper I wrote at Hotsos where we used Method-R and Trace Data to optimize performance. SQL tuning can be simple if you ask the right questions.
Any DBA from beginner to advanced level, who wants to fill in some gaps in his/her knowledge about Performance Tuning on an Oracle Database, will benefit from this workshop.
Using SQL Plan Management (SPM) to Balance Plan Flexibility and Plan StabilityEnkitec
This presentation is about understanding all 3 components of SPM and how we can use this technology to efficiently migrate "good" Execution Plans from one Release to another, or from one System to another.
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
Let's dive deeper into the world of ODC! Ricardo Alves (OutSystems) will join us to tell all about the new Data Fabric. After that, Sezen de Bruijn (OutSystems) will get into the details on how to best design a sturdy architecture within ODC.
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Ramesh Iyer
In today's fast-changing business world, Companies that adapt and embrace new ideas often need help to keep up with the competition. However, fostering a culture of innovation takes much work. It takes vision, leadership and willingness to take risks in the right proportion. Sachin Dev Duggal, co-founder of Builder.ai, has perfected the art of this balance, creating a company culture where creativity and growth are nurtured at each stage.
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
In this insightful webinar, Inflectra explores how artificial intelligence (AI) is transforming software development and testing. Discover how AI-powered tools are revolutionizing every stage of the software development lifecycle (SDLC), from design and prototyping to testing, deployment, and monitoring.
Learn about:
• The Future of Testing: How AI is shifting testing towards verification, analysis, and higher-level skills, while reducing repetitive tasks.
• Test Automation: How AI-powered test case generation, optimization, and self-healing tests are making testing more efficient and effective.
• Visual Testing: Explore the emerging capabilities of AI in visual testing and how it's set to revolutionize UI verification.
• Inflectra's AI Solutions: See demonstrations of Inflectra's cutting-edge AI tools like the ChatGPT plugin and Azure Open AI platform, designed to streamline your testing process.
Whether you're a developer, tester, or QA professional, this webinar will give you valuable insights into how AI is shaping the future of software delivery.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
"Impact of front-end architecture on development cost", Viktor TurskyiFwdays
I have heard many times that architecture is not important for the front-end. Also, many times I have seen how developers implement features on the front-end just following the standard rules for a framework and think that this is enough to successfully launch the project, and then the project fails. How to prevent this and what approach to choose? I have launched dozens of complex projects and during the talk we will analyze which approaches have worked for me and which have not.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on the notifications, alerts, and approval requests using Slack for Bonterra Impact Management. The solutions covered in this webinar can also be deployed for Microsoft Teams.
Interested in deploying notification automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
JMeter webinar - integration with InfluxDB and GrafanaRTTS
Watch this recorded webinar about real-time monitoring of application performance. See how to integrate Apache JMeter, the open-source leader in performance testing, with InfluxDB, the open-source time-series database, and Grafana, the open-source analytics and visualization application.
In this webinar, we will review the benefits of leveraging InfluxDB and Grafana when executing load tests and demonstrate how these tools are used to visualize performance metrics.
Length: 30 minutes
Session Overview
-------------------------------------------
During this webinar, we will cover the following topics while demonstrating the integrations of JMeter, InfluxDB and Grafana:
- What out-of-the-box solutions are available for real-time monitoring JMeter tests?
- What are the benefits of integrating InfluxDB and Grafana into the load testing stack?
- Which features are provided by Grafana?
- Demonstration of InfluxDB and Grafana using a practice web application
To view the webinar recording, go to:
https://www.rttsweb.com/jmeter-integration-webinar
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
3. Topics
• Common
ways
to
rewrite
SQL
to
make
it
perform
beFer
and
more
consistently
• How
to
easily
idenHfy
&
test
your
SQL
• How
and
when
to
index
– AddiHons
or
modificaHons
to
provide
best
soluHon
– Best
choice
of
columns
and
in
what
order
– Trade-‐offs
for
determining
the
"best"
index
20. Name
your
SQL
SELECT /* kmtest */ …
FROM tab …
SELECT /*+ qb_name (sql42) */ …
FROM tab …
Comments
stored
with
full
SQL
in
the
SQL_TEXT
column
in
v$sql,
v$sqltext,
dba_hist_sqltext.
QBLOCK_NAME
stored
in
v$sql_plan,
v$sql_plan_staHsHcs_all,
dba_hist_sql_plan.
27. @fsx kmtest!
!
!
col sql_id new_value r_sqlid!
col child_number new_value r_childno!
!
!
SELECT /* NOVIEW */ !
! ! sql_id, child_number ...!
FROM gv$sql s!
WHERE sql_text like '%&&1%'!
AND sql_text not like '%NOVIEW%'!
AND sql_text not like 'BEGIN :sql_%'!
ORDER BY 1 ;!
28. @dplan!
SELECT *!
FROM table(dbms_xplan.display_cursor (!
! ! SQL_ID => '&r_sqlid', !
! ! CURSOR_CHILD_NO => NVL(&r_childno,0), !
! ! FORMAT => 'ALLSTATS LAST')) !
WHERE '&r_sqlid' IS NOT NULL ;!
@rsm!
SELECT dbms_sqltune.report_sql_monitor(!
! ! SQL_ID => '&r_sqlid',!
! ! TYPE => 'HTML') !
FROM dual!
WHERE '&r_sqlid' IS NOT NULL ;!
29. How
do
you
know
when
refactoring
SQL
is
the
best
opHon?
31. Why
You
Should
Refactor
• You
know
your
stuff
best
(or
you
should)
• Always
filter
early
• Defines
your
expectaHons
• K.I.S.S.
• The
opHmizer
might
not
be
able
to
34. This
SELECT b.*
FROM a, b
WHERE a.col1 = b.col1
AND b.col2 = <condition>
Becomes
SELECT b.*
FROM b
WHERE b.col2 = <condition>
AND EXISTS (SELECT null
FROM a WHERE a.col1 = b.col1)
36. This
AND tab1.col1 = tab2.col1 (+)
AND tab2.col2 = <condition>
Becomes
AND tab1.col1 = tab2.col1
AND tab2.col2 = <condition>
Because
the
condiHon
would
be
null
for
the
outer
joined
row,
so
the
predicate
could
never
be
true.
37. Look
for
repeated
use
of
same
tables
and
predicates.
38. SELECT rite.event_name, count(*)
FROM riffs.rf_order ro, riffs.rf_order_item roi,
riffs.rf_item_transaction rit,
riffs.rf_item_transaction_event rite
WHERE ro.is_test = '0'
AND ro.order_id = roi.order_id
AND roi.order_item_id = rit.order_item_id
AND roi.order_id = rit.order_id
AND rit.transaction_id = rite.transaction_id
AND (rite.event_name >'AUTHORIZED' OR rite.event_name <'AUTHORIZED')
GROUP BY rite.event_name
UNION ALL
SELECT 'TRANSACTION_INITIATED', count(*)
FROM
(SELECT count(*)
FROM riffs.rf_order ro, riffs.rf_order_item roi,
riffs.rf_item_transaction rit,
riffs.rf_item_transaction_event rite
WHERE ro.is_test = '0'
AND ro.order_id = roi.order_id
AND roi.order_item_id = rit.order_item_id
AND roi.order_id = rit.order_id
AND rit.transaction_id = rite.transaction_id
AND rite.event_name = 'AUTHORIZED'
GROUP BY substr(rit.TRANSACTION_ID,1,INSTR(rit.TRANSACTION_ID,'_')-1))
39. Look
for
simple
predicates
ORed
with
other
predicates
in
ranges.
40. This
col1 > <condition>
OR col2 > <condition>
Becomes
col1 > <condition>
UNION / UNION ALL
AND col2 > <condition>
Because
a
row
could
not
be
rejected
when
one
predicate
is
false
without
checking
the
other
predicates.
41. Look
for
DISTINCT/UNION
to
remove
duplicates.
Consider
using
IN
or
EXISTS
instead.
43. Simple
View
Merging
is transformed into
Merged
automaHcally
as
it
is
deemed
“always
beFer”
for
the
opHmizer
to
work
with
direct
joins.
44. Complex
View
Merging
is transformed into
“Complex”
due
to
GROUP
BY.
CVM
can
also
be
done
when
using
DISTINCT
or
outer
join.
45. Filter
Push-‐Down
is transformed into
Purpose:
To
push
outer
query
predicates
into
view
to
perform
earlier
filtering.
46. Predicate
Move-‐Around
is transformed into
Purpose:
To
move
inexpensive
predicates
into
view
query
blocks
to
perform
earlier
filtering.
Can
generate
filter
predicates
based
on
transiHvity
or
funcHonal
dependencies.
47. Join
FactorizaHon
is transformed into
Combines
branches
of
UNION
/
UNION
ALL
that
join
a
common
table
in
order
to
reduce
#
of
accesses
to
that
table.
48. Understanding
how
the
opHmizer
transforms
queries
helps
you
write
beFer
SQL
and
understand
execuHon
plans.
50. For
many
years,
inadequate
indexing
has
been
the
most
common
cause
of
performance
disappointments.
–
Tapio
Lahdenmäki
51. Indexing
Problems
• Indexes
that
do
not
have
sufficient
columns
to
support
all
predicates
• Not
enough
indexes
present
– Numerous
single-‐column
but
few
mulH-‐column
• Indexes
with
the
right
columns
but
in
the
wrong
order
55. Inadequate
Index
SELECT !cust_id, cust_first_name!
FROM ! !customers!
!
WHERE ! !cust_last_name = 'Ruddy'!
AND ! ! !cust_city = 'Ede'!
ORDER BY cust_first_name ;!
Index
present
on
CUST_LAST_NAME,
CUST_FIRST_NAME
#
rows
in
table
=
55,500
56. Note
the
number
of
rows
that
are
thrown
away
in
step
1
(79).
57. Index
on
CUST_LAST_NAME,
CUST_CITY
No
throwaway
Index
on
CUST_CITY,
CUST_LAST_NAME,
CUST_FIRST_NAME,
CUST_ID
No
throwaway,
no
sort
58. Index
Design
Strategies
Columns
from
all
equality
predicates
in
any
order
Add
columns
in
the
order
used
in
ORDER
BY
Add
all
remaining
columns
from
column
list
in
any
order
• VolaHle
columns
at
end
(reduces
impact
on
updates)
59. Range
predicates
are
usually
placed
ater
1
and
2
star
columns.
Range
predicates
mean
3-‐star
indexes
aren't
possible.
The
2nd
star
is
usually
sacrificed
in
preference
of
a
more
selecHve
index.
61. An
index
that
contains
all
the
columns
referenced
in
the
WHERE
clause
is
a
semi-fat
index.
If
no
semi-‐fat
index
exists,
this
is
a
warning
flag
for
possible
performance
issues.
62. There
will
always
be
trade-‐offs.
Test
alternaHves
or
use
"worst
case"
formula
to
esHmate
response
Hmes.
63. The
key
to
determining
an
ideal
index
The
index
should
provide
adequate
enough
screening
to
minimize
table
accesses.
64. Recap
• Look
for
common
anH-‐paFerns
in
SQL
• Gather
enough
diagnosHc
data
to
know
where
the
problem
originates
• Learn
what
the
opHmizer
expects
(and
give
it
what
it
wants!)
• Think
about
your
indexing
strategy
• Design
indexes
for
opHmal
coverage
to
limit
table
accesses