SlideShare a Scribd company logo
1 of 84
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Harnessing	the	Power	of	OpCmizer	Hints	
Maria	Colgan	
Master	Product	Manager	
Oracle	Database	Server	Technologies	
September	2017
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Safe	Harbor	Statement	
The	following	is	intended	to	outline	our	general	product	direcCon.	It	is	intended	for	
informaCon	purposes	only,	and	may	not	be	incorporated	into	any	contract.	It	is	not	a	
commitment	to	deliver	any	material,	code,	or	funcConality,	and	should	not	be	relied	upon	
in	making	purchasing	decisions.	The	development,	release,	and	Cming	of	any	features	or	
funcConality	described	for	Oracle’s	products	remains	at	the	sole	discreCon	of	Oracle.	
2
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Harnessing	the	power	of	OpCmizer	hints	
•  This	session	will	not	instantly	make	you	an	OpCmizer	hint	expert!	
•  Adding	hints	won’t	magically	improve	every	query	you	encounter	
ExpectaAons	
	OpCmizer	hints	should	only	be	used	with	extreme	care
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Program	Agenda	
What	are	hints?	
How	to	use	OpCmizer	hints	
Useful	OpCmizer	hints	to	know	
Why	are	OpCmizer	hints	ignored?	
If	you	can	hint	it,	baseline	it	
Managing	an	exisCng	hinted	applicaCon	
1	
2	
3	
4	
5	
4	
6
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
What	are	hints?	
•  Hints	allow	you	to	influence	the	OpCmizer	when	it	has	to	choose	between	
several	possibiliCes	
•  A	hint	is	a	direcCve	that	will	be	followed	when	applicable	
•  Can	influence	everything	from	the	OpCmizer	mode	used	to	each	operaCon	
in	the	execuCon	
•  AutomaCcally	means	the	Cost	Based	OpCmizer	will	be	used	
– Only	excepCon	is	the	RULE	hint	but	it	must	be	used	alone		
Overview
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
What	are	hints?	
Example	-	direcAons	to	the	mall
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
What	are	hints?	
Example	-	direcAons	to	the	mall	but	don’t	take	6th	St
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
What	are	hints?	
Example	-	direcAons	to	the	mall	if	you	have	insider	informaAon
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
What	are	hints?	
•  Should	I	walk	or	drive	to	the	mall?	
– Best	plan	would	be	to	walk	
•  Should	I	go	up	4th,	5th,	or	6th	street?	
– Best	plan	would	be	to	go	up	4th	street	
•  Should	I	go	in	the	front	or	the	back	door	of	the	mall?	
– Best	plan	would	be	to	go	in	the	back	door	
•  Telling	me	the	cheapest	parking	is	at	5th	and	Mission	garage	is	irrelevant	
since	I	decided	to	walk	
Hints	only	evaluated	when	they	apply	to	a	decision	that	has	to	be	made
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Two	different	classes	of	hints	
	
Non-Optimizer Hints
	
HINTS
	
Optimizer Hints
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Not	all	hints	influence	the	OpCmizer	
•  The	hint	mechanism	is	not	exclusively	used	by	the	OpCmizer	
•  Several	other	funcConal	area	use	hints	too	
–  Direct	path	load	can	be	controlled	by	APPEND	hint	
–  Parallel	statement	queuing	can	be	controlled	by	STATEMENT_QUEUING	hint	
–  Data	management	in	buffer	cache	can	be	influenced	by	CACHE	hint	
–  What	SQL	statements	get	monitored	by	SQL	Monitor	can	be	controlled	by	MONITOR	hint	
–  Use	of		In-Memory	column	store	can	be	controlled	by	INMEMORY	hint	
Overview
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Checking	cardinality	esCmates	
SELECT /*+ GATHER_PLAN_STATISTICS*/ p.prod_name,
SUM(s.quantity_sold)
FROM Products p, Sales s
WHERE s.prod_id = p.prod_id
GROUP BY p.prod_name;
	
GATHER_PLAN_STATISTICS	hint
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Checking	cardinality	esCmates	
SELECT * FROM table(
DBMS_XPLAN.DISPLAY_CURSOR(FORMAT=>'ALLSTATS LAST’));
	
GATHER_PLAN_STATISTICS	hint	
•  Compare	esCmated	rows	returned	for	each	operaCon	in	plan	to	actual	
rows	returned	
•  A-Time	allows	you	to	see	where	the	Cme	is	spent
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Checking	cardinality	esCmates	
SELECT /*+ MONITOR*/ CUST_LASTNAME, SUM(AMOUNT_SOLD)
FROM Customers c, Sales s
WHERE s.cust_id = c.cust_id …
	
MONITOR	hint	
•  Compare	esCmated	rows	
returned	for	each	operaCon	
in	plan	to	actual	rows	
returned	
•  Timeline	allows	you	to	see	
where	the	Cme	is	spent
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Two	different	classes	of	hints	
	
Non-Optimizer Hints
	
HINTS
	
Optimizer Hints
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Inside	the	Oracle	OpCmizer	
Query Transformation
Rewrite query text to allow it to be processed
more efficiently
Plan Generator
Multiple plans are generated for
each SQL, using different access
paths and join types. Each plan is
costed and plan with the lowest
cost is used.
Cost Estimator
Cost is an estimate of the amount of
CPU and the number of disk I/Os, used
to perform an operation
Statistics
Schema definitions
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Hints	influencing	Query	TransformaCons	
•  First	thing	the	OpCmizer	does	is	try	to	transform	(rewrite)	your	statement	
– The	goal	is	to	allows	addiConal	access	or	join	methods	and	join	orders	to	be	used	
•  Some	transformaCons	are	always	done	but	some	are	cost-based	
•  Hints	can	be	used	to	influence	the	transformaCons	the	OpCmizer	does	
•  NO_QUERY_TRANSFORMATION	
•  MERGE	
•  USE_CONCAT	
•  REWRITE	
	
Overview	
•  	STAR_TRANSFORMATION	
•  	UNNEST
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Hints	can	also	influence	all	aspects	of	a	plan	
	
	
				
•  Most	hints	have	corresponding	negaCve	hint	preceded	by	word		‘NO_’	
•  More	informaCon	on	hints	can	be	found	in	chapter	3	of	SQL	Reference	Guide	&	
chapter	19	of	the	SQL	Tuning	Guide	
Overview	
Hints	to	influence	cardinality	
DYNAMIC_SAMPLING	
CARDINALITY	 		
Hints	to	influence	join	methods	
USE_NL_WITH_INDEX	
USE_HASH	
Hints	to	influence	access	paths	
FULL	
INDEX	
Hints	to	influence	join	order	
LEADING	
ORDERED
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Hints	ClassificaCons	
•  Single-table	-	hints	that	are	specified	on	one	table	or	view	
– FULL	,	INDEX	or	USE_NL	
•  MulA-table	-	hint	that	can	be	specified	on	one	or	more	tables	or	views		
– LEADING	or	ORDERED	
•  Query	block	-	hints	that	operate	on	single	query	blocks	
– STAR_TRANSFORMATION	or	UNNEST	
•  Statement	–	hints	that	apply	to	the	enCre	SQL	statement	
– ALL_ROWS	or	OPTIMIZER_FEATURES_ENABLE	
Overview
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Program	Agenda	
What	are	hints?	
How	to	use	OpCmizer	hints	
Useful	OpCmizer	hints	to	know	
Why	are	OpCmizer	hints	ignored?	
If	you	can	hint	it,	baseline	it	
Managing	an	exisCng	hinted	applicaCon	
1	
2	
3	
4	
5	
20	
6
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
How	to	use	OpCmizer	hints	
•  Hints	are	inserted	in	a	SQL	statement	in	the	form	of	a	comment	with	an	
addiConal	+	sign	
•  They	go	immediately	aqer	the	keyword	(SELECT,	INSERT,	etc)	
SELECT /* This is a comment */ count(*) FROM Sales;
				
SELECT /*+ This is a hint */ count(*) FROM Sales;
	
Overview	
Hint	syntax	is	correct	but	it	is	not	a	valid	hint	so	is	treated	as	comment
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
How	to	use	OpCmizer	hints	
•  Hints	and	comments	can	be	combined	
•  But	best	pracCce	is	to	keep	comment	and	hints	in	different	blocks	
– Comments	can	be	put	anywhere	in	a	SQL	statement	not	just	aqer	keyword	
SELECT /*+ FULL(s) and a comment*/ count(*) FROM Sales s;
				
SELECT /*+ This_is_a_comment FULL(s) */ count(*) FROM Sales s;
Overview	
SELECT /*+ FULL(s)*/ count(*) FROM Sales s /* comment */;
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
How	to	use	OpCmizer	hints	
•  Which	one	of	the	following	hints	will	trigger	the	pk_emp	index	to	be	used	
in	this	query?	
			
SELECT /*+ index(scott.emp pk_emp)*/ * FROM emp e;

SELECT /*+ index(emp pk_emp)*/ * FROM emp e;

SELECT /*+ index(pk_emp)*/ * FROM emp e;
				
Correctly	idenAfying	the	object	in	the	hint	
None of them
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
How	to	use	OpCmizer	hints	
•  If	you	use	a	table	alias	in	the	query	than	you	must	specify	the	table	alias	
name	in	the	hint	
•  Otherwise	the	hint	is	not	valid	
SELECT /*+ index(e pk_emp)*/ * FROM emp e;

	
Correctly	idenAfying	the	object	in	the	hint
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
How	to	use	OpCmizer	hints	
SELECT /*+ FULL(e) FULL(d) */ e.last_name, e.dept_id
FROM employees e

WHERE e.dept_id in (SELECT d.dept_id 

FROM departments d

WHERE d.location_id=51);
Hints	only	apply	to	the	query	block	in	which	they	appear	
The	dept	table	only	appears	in	
the	sub-query,	which	is	treated	
as	separate	query	block.	Hint	has	
no	effect.
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
SELECT /*+ FULL(e) */ e.last_name, e.dept_id 

FROM employees e

WHERE e.dept_id in (SELECT /*+ FULL(d) */ d.dept_id 

FROM departments d

WHERE d.location_id=51);
How	to	use	OpCmizer	hints	
Hints	only	apply	to	the	query	block	in	which	they	appear		
	Only	excepCon	are	statement	level	hints	
The	hint	on	dept	now	has	an	
effect	as	it	appears	in	the	correct	
query	block,	the	sub-query
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
How	to	use	OpCmizer	hints	
•  Oracle	automaCcally	names	each	query	block	in	a	SQL	statement	
– sel$1,	ins$2,	upd$3,	del$4,	cri$5,	mrg$6,	set$7,	misc$8	
– Displayed	using	‘+alias’	format	parameter	in	DBMS_XPLAN	procedures	
•  Query	block	names	can	be	used	to	specify	which	block	a	hint	applies	to	
– /*+ FULL(@SEL$2 D) */
•  The	QB_NAME	hint	can	be	used	to	explicitly	labels	each	query	block		
– /*+ QB_NAME(my_name_for_ block) */
	
Query	block	names
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
SELECT /*+ FULL(e) FULL(@MY_SUBQ d) */ 

e.last_name, e.dept_id 

FROM employees e

WHERE e.dept_id in (SELECT /*+ QB_NAME(MY_SUBQ) */
d.dept_id 

FROM departments d

WHERE d.location_id=51);
How	to	use	OpCmizer	hints	
Query	block	names
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
How	to	use	OpCmizer	hints	
•  Any	valid	hint	will	be	used	
•  Can	check	if	a	hint	is	valid	in	hint	secCon	of	10053	trace	
How	do	I	know	if	my	hints	are	used	or	not?	
ERR	indicates	if	there	is	
an	error	with	hint	
USED	indicates	the	hint	was	used	during	the	
evaluaCon	of	the	part	of	the	plan	it	pertains	to		
Doesn’t	mean	the	final	plan	will	reflect	it
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
How	to	use	OpCmizer	hints	
Example	showing	how	hints	are	used	
•  SQL	Statement		
SELECT c.cust_name, sum (s.amount_sold)

FROM customers c, sales s

WHERE c.cust_id = s.cust_id
AND c.cust_city = ‘Los Angeles’
AND c.cust_province = ‘CA’
AND s.time_id = ‘09-SEP-17’
GROUP BY c.cust_name;
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
How	to	use	OpCmizer	hints	
•  Default plan is a hash join between sales and customers
Example	showing	how	hints	are	used	
	But	we	want	the	query	to	use	a	nested	loops	join
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
How	to	use	OpCmizer	hints	
•  Hinted SQL statement
SELECT /*+ USE_NL(s) */ 

c.cust_name, sum (s.amount_sold)

FROM customers c, sales s

WHERE c.cust_id = s.cust_id
AND c.cust_city = ‘Los Angeles’
AND c.cust_province = ‘CA’
AND s.time_id = ‘09-SEP-17’
GROUP BY c.cust_name;
Example	showing	how	hints	are	used
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
How	to	use	OpCmizer	hints	
•  Even	with	the	hint	we	sCll	get	a	hash	join	plan	
Example	showing	how	hints	are	used	
	Why	did	it	not	use	the	hint?
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
How	to	use	OpCmizer	hints	
•  Lets	look	in	the	10053	trace	file	
•  Hint	is	valid	and	was	used	
•  Why	did	it	not	change	the	plan?	
•  We	only	hinted	the	join	method	we	didn’t	hint	the	join	order	
•  Hint	only	valid	when	sales	is	on	right	side		
•  Hint	considered	ONLY	when	join	order	was	customers,	sales	
Example	showing	how	hints	are	used
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
How	to	use	OpCmizer	hints	
•  Hinted SQL statement with both join method and join order hints
SELECT /*+ ORDERED USE_NL(s) */ 

c.cust_name, sum (s.amount_sold)

FROM customers c, sales s

WHERE c.cust_id = s.cust_id
AND c.cust_city = ‘Los Angeles’
AND c.cust_province = ‘CA’
AND s.time_id = ‘09-SEP-17’
GROUP BY c.cust_name;
Example	showing	how	hints	are	used
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
•  Hinted	plan	
How	to	use	OpCmizer	hints	
Example	showing	how	hints	are	used
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
How	to	use	OpCmizer	hints	
•  ParCal	hints	can’t	guarantee	the	same	plan	every	Cme		
•  Only	way	to	guarantee	the	same	plan	every	Cme	is	with	a	full	outline	
•  A	full	outline	is	a	complete	set	of	hints	for	all	aspects	of	a	plan	
•  Full	outline	for	a	plan	can	be	displayed	using	‘+outline’	opCon	with	FORMAT
parameter	in	DBMS_XPLAN.DISPLAY_CURSOR		
SELECT * FROM
TABLE(DBMS_XPLAN.display_cursor(format=>’+outline'));
	
Guaranteeing	the	same	plan	every	Ame
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
How	to	use	OpCmizer	hints	
Guaranteeing	the	same	plan	every	Ame	
Full outline for the plan
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
How	to	use	OpCmizer	hints	
Guaranteeing	the	same	plan	every	Ame	
Cut and paste full
outline for the plan
Easier to maintain a full outline using SQL Plan Management
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Program	Agenda	
What	are	hints?	
How	to	use	OpCmizer	hints	
Useful	OpCmizer	hints	to	know	
Why	are	OpCmizer	hints	ignored?	
If	you	can	hint	it,	baseline	it	
Managing	an	exisCng	hinted	applicaCon	
1	
2	
3	
4	
5	
40	
6
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Changing	the	OpCmizer	mode	
•  The	following	hints	control	the	OpCmizer	mode	
– ALL_ROWS (default mode)
– FIRST_ROWS(n)
– RULE
•  FIRST_ROWS(n)	choose	plan	that	returns	the	first	n	rows	most	efficiently	
– Use	of	old	FIRST_ROWS	hint	is	not	recommended	
•  Not	fully	cost	based	
•  RULE	hint	reverts	back	to	Rule	Based	OpCmizer	(RBO)	
– Not	recommended	as	RBO	is	de-supported	and	severely	limits	plan	opCons
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Changing	the	OpCmizer	mode	
•  40%	of	the	rows	in	the	employee	table	have	department_id	=	50	
•  Default	plan	is	a	full	table	scan	
•  SELECT e.emp_id, e.last_name, e.salary 

FROM employees e

WHERE e.dept_id = 50;	
Default	OpAmizer	mode	example
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Changing	the	OpCmizer	mode	
SELECT /*+ FIRST_ROWS(10) */ 

e.emp_id, e.last_name, e.salary 

FROM employees e

WHERE e.dept_id = 50;	
	
	
	
	
				
•  Plan changed because the assumption is you are going to stop
fetching after first 10 rows
FRIST_ROWS(n)	hint	example
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Changing	the	OpCmizer	mode	
•  RULE	hint	specifies	that	the	Rule	Based	OpCmizer	(RBO)	be	used	
•  The	RULE	hint	is	not	applicable	if		
– Other	hints	are	specified	in	the	stmt		
– One	or	more	parCConed	tables	are	used	
– One	or	more	IOTs	are	used	
– One	or	more	Materialized	views	exist	
– A	SAMPLE	clauses	is	specified	
– A	spreadsheet	clause	is	specified	
RULE	hint		
– Parallel	execuCon	is	used		
– Grouping	sets	are	used		
– Group	outer-join	is	used		
– A	create	table	with	a	parallel	clause		
– A	leq	or	full	outer	join	(ANSI)	is	specified		
– Flashback	cursor	(AS	OF)	is	used	
– ……….
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Changing	the	OpCmizer	mode	
•  RULE	hint	ignored	when	parCConed	table	is	used	
•  SELECT /*+ RULE */ count(*)

FROM sales s;	
Rule	hint		
RULE hint is ignored because SALES
is a partitioned table therefore CBO is
used
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Changing	the	OpCmizer	mode	
•  RULE	hint	prevents	bitmap	index	being	used	and	triggers	full	scan	
•  SELECT /*+ RULE */ count(*)

FROM non_partitioned_sales s;
RULE	hint
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Changing	iniCalizaCon	parameter	for	a	query	
•  Allows	init.ora	OpCmizer	parameters	to	be	changed	for	a	specific	query	
•  Useful	way	to	prevent	sewng	non-default	parameter	value	system-wide	
•  Only	the	following	OpCmizer	influencing	init.ora	parameters	can	be	set:	
OPT_PARAM	hint	
	
-  OPTIMIZER_DYNAMIC_SAMPLING		
-  OPTIMIZER_INDEX_CACHING	
-  OPTIMIZER_INDEX_COST_ADJ	
-  OPTIMIZER_USE_PENDING_STATISTICS	
-  OPTIMIZER_USE_INVISIBLE_INDEXES	
-  OPTIMIZER_SECURE_VIEW_MERGING	
-  OpCmizer	related	underscore	parameters		
-  STAR_TRANSFORMATION_ENABLED	
-  PARALLEL_DEGREE_POLICY	
-  PARALLEL_DEGREE_LIMIT	
-  OPTIMIZER_ADAPTIVE_PLANS	
-  OPTIMIZER_ADAPTIVE_REPORTING_ONLY	
-  OPTIMIZER_ADAPTIVE_STATISTICS	
-  OPTIMIZER_INMEMORY_AWARE
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Changing	iniCalizaCon	parameter	for	a	query	
OPT_PARAM	hint	example	
	
Cardinality under-estimated due
to complex expression
Extended statistics would help
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Changing	iniCalizaCon	parameter	for	a	query	
OPT_PARAM	hint	example	
	
Create extended statistics & re-
gather statistics as pending
statistics
OPT_PARAM hint enables
pending statistics for only this
statement
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Changing	OpCmizer	features	enable		
•  OPTIMIZER_FEATURES_ENABLE	parameter	allows	you	to	switch	
between	opCmizer	versions	
•  Sewng	it	to	previous	database	version	reverts	the	OpCmizer	to	that	version	
– Disables	any	funcConality	that	was	not	present	in	that	version	
•  Easy	way	to	work	around	unexpected	behavior	in	a	new	release	
•  Hint	allows	you	to	revert	the	OpCmizer	for	just	a	single	statement		
This	parameter	gets	it	own	hint
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Changing	OpCmizer	features	enable		
Example
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Changing	OpCmizer	features	enable		
Example	
Hash GROUP BY introduced in
10g not an option for 9.2
Optimizer, so traditional sort
based GROUP BY selected
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Program	Agenda	
What	are	hints?	
How	to	use	OpCmizer	hints	
Useful	OpCmizer	hints	to	know	
Why	are	OpCmizer	hints	ignored?	
If	you	can	hint	it,	baseline	it	
Managing	an	exisCng	hinted	applicaCon	
1	
2	
3	
4	
5	
53	
6
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Why	are	OpCmizer	hints	ignored?	
•  Which	one	of	the	following	hints	will	trigger	the	pk_emp	index	to	be	used	
in	this	query?	
SELECT /*+ IND(e pk_emp)*/ * FROM employees e;

SELECT /*+ INDEX(e emp_pk)*/ * FROM employees e;
SELECT /*+ INDEX(e pk_emp)*/ * FROM employees e;
Syntax	and	Spelling
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Why	are	OpCmizer	hints	ignored?	
•  Specifying	an	index	hint	on	a	table	with	no	indexes	
		
SELECT /*+ INDEX(p) */ Count(*)
FROM my_promotions p
WHERE promo_category = 'TV'
AND promo_begin_date = '05-OCT-17’;
Invalid	hint	
Invalid hint because no indexes
exist on the table
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Why	are	OpCmizer	hints	ignored?	
•  Specifying	a	hash	join	hint	for	non-equality	join	
			
SELECT /*+ USE_HASH(e s) */ e.first_name, e.last_name
FROM employees e, salary_grade s
WHERE e.salary BETWEEN s.low_sal AND s.high_sal; 	
	
Illegal	hint	
Illegal hint because a hash join
can’t be used for a non-equality
join predicate
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Why	are	OpCmizer	hints	ignored?	
•  Specifying	a	parallel	hint	for	an	index	range	scan	
SELECT /*+ index(e empno_pk_ind) parallel(e 8) */
e.empno, e.name
FROM employees e
WHERE e.empno < 7700;
	
Invalid	hint	combinaAons	
Invalid hint combination
because an index range scan
can’t be parallelized on non-
partitioned table
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Why	are	OpCmizer	hints	ignored?	
•  If	two	hints	contradict	each	other,	they	will	both	be	ignored	
SELECT /*+ full(e) index(e empno_fk_ind) */
e.empno, e.name
FROM employees e
WHERE e.empno < 7700;
	
Invalid	hint	combinaAons	
Conflicting hints you can’t do a
full table scan and index lookup
on same table
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Why	are	OpCmizer	hints	ignored?	
•  Ordered	hint	dictates	the	join	order	as	the	order	of	tables	in	FROM	clause	
SELECT /*+ ordered */ e1.last_name, j.job_title, e1.salary, v.avg_salary
FROM employees e1, jobs j
( SELECT e2.dept_id, avg(e2.salary) avg_salary
FROM employees e2, departments d
WHERE d.location=1700 AND e2.depet_id=d.dept_id
GROUP BY e2.dept_id)v
WHERE e1.job_id = j.job_id
AND e1.dept_id = v.dept_id
AND e1.salary > a.avg_salary
ORDER BY e1.last_name;	
Hint	becomes	invalid	due	to	transformaAon	
Expected join order
1.  Employees
2.  Jobs
3.  V
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Why	are	OpCmizer	hints	ignored?	
•  Actual	join	order	used		
Hint	becomes	invalid	due	to	transformaAon	
1
3
2
View merging occurred
Order of tables in FROM clause
(e1,j,v) lost
Optimizer picks join order with
lowest cost
4
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Why	are	OpCmizer	hints	ignored?	
•  NO_MERGE	hint	prevents	transformaCon	from	taking	place	
SELECT /*+ no_merge(v) ordered */
e1.last_name, j.job_title, e1.salary, v.avg_salary
FROM employees e1, jobs j
( SELECT e2.dept_id, avg(e2.salary) avg_salary
FROM employees e2, departments d
WHERE d.location=1700 AND e2.depet_id=d.dept_id
GROUP BY e2.dept_id)v
WHERE e1.job_id = j.job_id
AND e1.dept_id = v.dept_id
AND e1.salary > a.avg_salary
ORDER BY e1.last_name;	
Hint	becomes	invalid	due	to	transformaAon	
Preserves FROM clause order
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Why	are	OpCmizer	hints	ignored?	
•  Actual	join	order	used		
Hint	becomes	invalid	due	to	transformaAon	
Inline	View	v	
1
2
3
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Program	Agenda	
What	are	hints?	
How	to	use	OpCmizer	hints	
Useful	OpCmizer	hints	to	know	
Why	are	OpCmizer	hints	ignored?	
If	you	can	hint	it,	baseline	it	
Managing	an	exisCng	hinted	applicaCon	
1	
2	
3	
4	
5	
63	
6
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
If	you	can	hint	it,	baseline	it	
•  It	is	not	always	possible	to	add	hints	to	third	party	applicaCons	
•  Hints	can	be	extremely	difficult	to	manage	over	Cme	
•  Once	added	never	removed	
AlternaAve	approach	to	hints	
Solution
•  Use	SQL	Plan	Management	(SPM)	
•  Influence	the	execuCon	plan	without	adding	hints	directly	to	queries	
•  SPM	available	in	Enterprise	EdiCon*,	no	addiConal	opCons	required
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Plan	history	
SQL	Plan	Management		
If	you	can	hint	it,	baseline	it	
Users	
HJ
HJ
GB
Plan	baseline	
Parse
HJ
HJ
GB
Execute	
Plan	Acceptable	
NOTE::	Actual	execuCon	plans	stored	in	
SQL	plan	baseline	in	Oracle	Database	12c
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Plan	history	
SQL	Plan	Management		
If	you	can	hint	it,	baseline	it	
Users	
HJ
HJ
GB
Plan	baseline	
Parse
NL
NL
GB
NL
NL
GB
NOTE::	You	do	not	need	to	be	in	auto-
capture	mode	to	have	a	new	plan	added	
to	an	exisCng	SQL	plan	baseline	
AddiConal	fields	such	as	fetches,	row	
processed	etc.	are	not	populated	because	
new	plan	has	never	executed
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Plan	history	
SQL	Plan	Management		
If	you	can	hint	it,	baseline	it	
Users	
HJ
HJ
GB
Plan	baseline	
Parse
NL
NL
GB
HJ
HJ
GB
Execute	
Plan	Acceptable
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Influence	execuCon	plan	without	adding	hints	
•  Simple	two	table	join	between	the	SALES	and	PRODUCTS	tables	
	
SELECT p.prod_name,SUM(s.amount_sold)
FROM products p, sales s
WHERE p.prod_id = s.prod_id
AND p.supplier_id = :sup_id
GROUP BY p.prod_name; 	
Example	Overview	
	
Current	Plan	
GROUP	BY	
HASH JOIN	
TABLE	ACCESS	
SALES	
TABLE	ACCESS	
PRODUCTS
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Influence	execuCon	plan	without	adding	hints	
•  Simple	two	table	join	between	the	SALES	and	PRODUCTS	tables		
	
SELECT p.prod_name,SUM(s.amount_sold)
FROM products p, sales s
WHERE p.prod_id = s.prod_id
AND p.supplier_id = :sup_id
GROUP BY p.prod_name; 	
Example	Overview	
	
GROUP	BY	
HASH JOIN	
INDEX	RANGE	SCAN	
PROD_SUPP_ID_INDX	
TABLE	ACCESS	
SALES	
Desired	Plan
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Influence	execuCon	plan	without	adding	hints	
SELECT p.prod_name,SUM(s.amount_sold)
FROM products p, sales s
WHERE p.prod_id = s.prod_id
AND p.supplier_id = :sup_id
GROUP BY p.prod_name;	
PROD_NAME SUM(S.AMOUNT_SOLD)
--------------------------------------- ------------------
Baseball trouser Kids 91
Short Sleeve Rayon Printed Shirt $8.99 32
	
Step	1.	Execute	the	non-hinted	SQL	statement
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Influence	execuCon	plan	without	adding	hints	
Default	plan	uses	full	table	scans	followed	by	a	hash	join
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Influence	execuCon	plan	without	adding	hints	
SELECT sql_id, 
       sql_fulltext 
FROM   v$sql 
WHERE  sql_text LIKE 'SELECT p.prod_name, %';
SQL_ID         SQL_FULLTEXT 
-------------  ---------------------------------------- 
akuntdurat7yr  SELECT p.prod_name, SUM(s.amount_sold) 
       FROM   products p , sales s 
              WHERE  p.prod
Step	2.	Find	the	SQL_ID	for	the	non-hinted	statement	in	V$SQL
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
VARIABLE cnt NUMBER
EXECUTE :cnt := dbms_spm.load_plans_from_cursor_cache(sql_id=>'akuntdurat7yr');
PL/SQL PROCEDURE successfully completed.
SELECT sql_handle, sql_text, plan_name, enabled 
FROM   dba_sql_plan_baselines 
WHERE  sql_text LIKE 'SELECT p.prod_name, %';
SQL_HANDLE SQL_TEXT PLAN_NAME ENA
------------------ --------------------------------------- -------------------- ---
SQL_8f876d84821398cf SELECT p.prod_name, sum(s.amount_sold) SQL_PLAN_8z1vdhk1176 YES
FROM products p , sales s g42949306

Influence	execuCon	plan	without	adding	hints	
Step	3.	Create	a	SQL	plan	baseline	for	the	non-hinted	SQL	statement
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Influence	execuCon	plan	without	adding	hints	
Step	4.	Disable	plan	in	SQL	plan	baseline	for	the	non-hinted	SQL	statement		
	
EXECUTE :cnt := dbms_spm.alter_sql_plan_baseline(sql_handle=>'SQL_8f876d84821398cf’,-
plan_name=>'SQL_PLAN_8z1vdhk11766g42949306',-
attribute_name => 'enabled’, -
attribute_value => 'NO');
PL/SQL PROCEDURE successfully completed.
SELECT sql_handle, sql_text, plan_name, enabled 
FROM   dba_sql_plan_baselines 
WHERE  sql_text LIKE 'SELECT p.prod_name, %';
SQL_HANDLE SQL_TEXT PLAN_NAME ENA
------------------ ---------------------------------------- --------------------- ---
SQL_8f876d84821398cf SELECT p.prod_name, sum(s.amount_sold) SQL_PLAN_8z1vdhk1176 NO

FROM products p , sales s g42949306

Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Influence	execuCon	plan	without	adding	hints	
SELECT /*+ index(p) */ p.prod_name,SUM(s.amount_sold) 
FROM   products p, sales s 
WHERE  p.prod_id = s.prod_id 
AND  p.supplier_id = :sup_id 
GROUP  BY p.prod_name;
 
PROD_NAME SUM(S.AMOUNT_SOLD)
--------------------------------------- ------------------
Baseball trouser Kids 91
Short Sleeve Rayon Printed Shirt $8.99 32
Step	5.	Manually	modify	the	SQL	statement	to	use	the	hint(s)	&	execute	it
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Influence	execuCon	plan	without	adding	hints	
SELECT sql_id, plan_hash_value,  sql_fulltext 
FROM   v$sql 
WHERE  sql_text LIKE 'SELECT /*+ index(p) */ p.prod_name, %';
SQL_ID       PLAN_HASH_VLAUE SQL_FULLTEXT 
------------- --------------- -----------------------------------
avph0nnq5pfc2  2567686925      SELECT /*+ index(p) */ p.prod_name, 
        SUM( s.amount_sold) FROM products p, 
                               sales
Step	6.	Find	SQL_ID	&	PLAN_HASH_VALUE	for	hinted	SQL	stmt	in	V$SQL
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Influence	execuCon	plan	without	adding	hints	
VARIABLE cnt NUMBER
EXECUTE :cnt := dbms_spm.load_plans_from_cursor_cache(sql_id=>'avph0nnq5pfc2’,-
plan_hash_value=>'2567686925', -

sql_handle=>'SQL_8f876d84821398cf‘);
PL/SQL PROCEDURE successfully completed.
Step	7.	Associate	hinted	plan	with	original	SQL	stmt’s	SQL	HANDLE	
		
SQL_ID & PLAN_HASH_VALUE belong to hinted
statement
SQL_HANDLE is for the non-hinted statement
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Influence	execuCon	plan	without	adding	hints	
SELECT sql_handle, sql_text, plan_name, enabled 
FROM   dba_sql_plan_baselines 
WHERE  sql_text LIKE 'SELECT p.prod_name, %';
SQL_HANDLE SQL_TEXT PLAN_NAME ENA
------------------ --------------------------------------- -------------------- ---
SQL_8f876d84821398cf SELECT p.prod_name, sum(s.amount_sold) SQL_PLAN_8z1vdhk1176 NO
FROM products p , sales s g42949306



SQL_8f876d84821398cf SELECT p.prod_name, sum(s.amount_sold) SQL_PLAN_8z1vdhk1176 YES
FROM products p , sales s 6ge1c67f67

Step	8.	Confirm	SQL	statement	has	two	plans	in	its	SQL	plan	baseline		
	
Hinted plan is the only enabled
plan for non-hinted SQL statement
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Influence	execuCon	plan	without	adding	hints	
Step	9.	Confirm	hinted	plan	is	being	used	
	
Non-hinted SQL text but it
is using the plan hash
value for the hinted
statement
Note section also confirms
SQL plan baseline used for
statement
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Program	Agenda	
What	are	hints?	
How	to	use	OpCmizer	hints	
Useful	OpCmizer	hints	to	know	
Why	are	OpCmizer	hints	ignored?	
If	you	can	hint	it,	baseline	it	
Managing	an	exisCng	hinted	applicaCon	
1	
2	
3	
4	
5	
80	
6
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Managing	an	exisCng	hinted	applicaCon	
SQL	Performance	Analyzer		
Compare	SQL	
performance	
Establish	baseline	 Set	underscore	parameter	
_OPTIMIZER_IGNORE_HINTS	
1	 2	
3	
Execute	workload	
	
Execute	workload
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Managing	an	exisCng	hinted	applicaCon
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Summary	
•  OpCmizer	hints	should	only	be	used	with	extreme	cauCon	
– Exhaust	all	other	tuning	mechanisms	first	
•  StaCsCcs,	SQL	Tuning	Advisor,	etc	
•  To	guarantee	the	same	plan	every	Cme	supply	a	complete	outline	
– Easier	to	do	this	with	SQL	Plan	Management	
•  Hints	live	forever!	
– Use	_OPTIMIZER_IGNORE_HINTS	parameter	to	test	query	performance	without	hints
Copyright	©	2017,	Oracle	and/or	its	affiliates.	All	rights	reserved.		|	
Join	the	ConversaAon		
84	
Related	White	Papers	
•  What	to	expect	from	the	OpCmizer	in	12c	
•  What	to	expect	from	the	OpCmizer	in	11g	
	
h|ps://twi|er.com/SQLMaria	
h|ps://blogs.oracle.com/opCmizer/	
h|ps://sqlmaria.com	
h|ps://www.facebook.com/SQLMaria

More Related Content

What's hot

Oracle database performance tuning
Oracle database performance tuningOracle database performance tuning
Oracle database performance tuningYogiji Creations
 
Tanel Poder Oracle Scripts and Tools (2010)
Tanel Poder Oracle Scripts and Tools (2010)Tanel Poder Oracle Scripts and Tools (2010)
Tanel Poder Oracle Scripts and Tools (2010)Tanel Poder
 
Top 10 Oracle SQL tuning tips
Top 10 Oracle SQL tuning tipsTop 10 Oracle SQL tuning tips
Top 10 Oracle SQL tuning tipsNirav Shah
 
02 Writing Executable Statments
02 Writing Executable Statments02 Writing Executable Statments
02 Writing Executable Statmentsrehaniltifat
 
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
 
Oracle Performance Tuning Fundamentals
Oracle Performance Tuning FundamentalsOracle Performance Tuning Fundamentals
Oracle Performance Tuning FundamentalsEnkitec
 
AIOUG : OTNYathra - Troubleshooting and Diagnosing Oracle Database 12.2 and O...
AIOUG : OTNYathra - Troubleshooting and Diagnosing Oracle Database 12.2 and O...AIOUG : OTNYathra - Troubleshooting and Diagnosing Oracle Database 12.2 and O...
AIOUG : OTNYathra - Troubleshooting and Diagnosing Oracle Database 12.2 and O...Sandesh Rao
 
Oracle sql high performance tuning
Oracle sql high performance tuningOracle sql high performance tuning
Oracle sql high performance tuningGuy Harrison
 
MAA Best Practices for Oracle Database 19c
MAA Best Practices for Oracle Database 19cMAA Best Practices for Oracle Database 19c
MAA Best Practices for Oracle Database 19cMarkus Michalewicz
 
Introduction to Oracle Data Guard Broker
Introduction to Oracle Data Guard BrokerIntroduction to Oracle Data Guard Broker
Introduction to Oracle Data Guard BrokerZohar Elkayam
 
Explain the explain_plan
Explain the explain_planExplain the explain_plan
Explain the explain_planMaria Colgan
 
Cloning Oracle EBS R12: A Step by Step Procedure
Cloning Oracle EBS R12: A Step by Step ProcedureCloning Oracle EBS R12: A Step by Step Procedure
Cloning Oracle EBS R12: A Step by Step ProcedureOrazer Technologies
 
Oracle RAC 12c Practical Performance Management and Tuning OOW13 [CON8825]
Oracle RAC 12c Practical Performance Management and Tuning OOW13 [CON8825]Oracle RAC 12c Practical Performance Management and Tuning OOW13 [CON8825]
Oracle RAC 12c Practical Performance Management and Tuning OOW13 [CON8825]Markus Michalewicz
 
Oracle Enterprise Manager Seven Robust Features to Put in Action final
Oracle Enterprise Manager Seven Robust Features to Put in Action finalOracle Enterprise Manager Seven Robust Features to Put in Action final
Oracle Enterprise Manager Seven Robust Features to Put in Action finalDatavail
 
Chasing the optimizer
Chasing the optimizerChasing the optimizer
Chasing the optimizerMauro Pagano
 
Oracle SQL, PL/SQL Performance tuning
Oracle SQL, PL/SQL Performance tuningOracle SQL, PL/SQL Performance tuning
Oracle SQL, PL/SQL Performance tuningSmitha Padmanabhan
 
Oracle Active Data Guard: Best Practices and New Features Deep Dive
Oracle Active Data Guard: Best Practices and New Features Deep Dive Oracle Active Data Guard: Best Practices and New Features Deep Dive
Oracle Active Data Guard: Best Practices and New Features Deep Dive Glen Hawkins
 
Dataguard presentation
Dataguard presentationDataguard presentation
Dataguard presentationVimlendu Kumar
 

What's hot (20)

Oracle database performance tuning
Oracle database performance tuningOracle database performance tuning
Oracle database performance tuning
 
Tanel Poder Oracle Scripts and Tools (2010)
Tanel Poder Oracle Scripts and Tools (2010)Tanel Poder Oracle Scripts and Tools (2010)
Tanel Poder Oracle Scripts and Tools (2010)
 
Top 10 Oracle SQL tuning tips
Top 10 Oracle SQL tuning tipsTop 10 Oracle SQL tuning tips
Top 10 Oracle SQL tuning tips
 
02 Writing Executable Statments
02 Writing Executable Statments02 Writing Executable Statments
02 Writing Executable Statments
 
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
 
Oracle Performance Tuning Fundamentals
Oracle Performance Tuning FundamentalsOracle Performance Tuning Fundamentals
Oracle Performance Tuning Fundamentals
 
AIOUG : OTNYathra - Troubleshooting and Diagnosing Oracle Database 12.2 and O...
AIOUG : OTNYathra - Troubleshooting and Diagnosing Oracle Database 12.2 and O...AIOUG : OTNYathra - Troubleshooting and Diagnosing Oracle Database 12.2 and O...
AIOUG : OTNYathra - Troubleshooting and Diagnosing Oracle Database 12.2 and O...
 
Oracle sql high performance tuning
Oracle sql high performance tuningOracle sql high performance tuning
Oracle sql high performance tuning
 
MAA Best Practices for Oracle Database 19c
MAA Best Practices for Oracle Database 19cMAA Best Practices for Oracle Database 19c
MAA Best Practices for Oracle Database 19c
 
Introduction to Oracle Data Guard Broker
Introduction to Oracle Data Guard BrokerIntroduction to Oracle Data Guard Broker
Introduction to Oracle Data Guard Broker
 
Explain the explain_plan
Explain the explain_planExplain the explain_plan
Explain the explain_plan
 
Cloning Oracle EBS R12: A Step by Step Procedure
Cloning Oracle EBS R12: A Step by Step ProcedureCloning Oracle EBS R12: A Step by Step Procedure
Cloning Oracle EBS R12: A Step by Step Procedure
 
Oracle ASM Training
Oracle ASM TrainingOracle ASM Training
Oracle ASM Training
 
Oracle RAC 12c Practical Performance Management and Tuning OOW13 [CON8825]
Oracle RAC 12c Practical Performance Management and Tuning OOW13 [CON8825]Oracle RAC 12c Practical Performance Management and Tuning OOW13 [CON8825]
Oracle RAC 12c Practical Performance Management and Tuning OOW13 [CON8825]
 
Oracle Enterprise Manager Seven Robust Features to Put in Action final
Oracle Enterprise Manager Seven Robust Features to Put in Action finalOracle Enterprise Manager Seven Robust Features to Put in Action final
Oracle Enterprise Manager Seven Robust Features to Put in Action final
 
Chasing the optimizer
Chasing the optimizerChasing the optimizer
Chasing the optimizer
 
Oracle SQL, PL/SQL Performance tuning
Oracle SQL, PL/SQL Performance tuningOracle SQL, PL/SQL Performance tuning
Oracle SQL, PL/SQL Performance tuning
 
Oracle Active Data Guard: Best Practices and New Features Deep Dive
Oracle Active Data Guard: Best Practices and New Features Deep Dive Oracle Active Data Guard: Best Practices and New Features Deep Dive
Oracle Active Data Guard: Best Practices and New Features Deep Dive
 
Data Guard Architecture & Setup
Data Guard Architecture & SetupData Guard Architecture & Setup
Data Guard Architecture & Setup
 
Dataguard presentation
Dataguard presentationDataguard presentation
Dataguard presentation
 

Similar to Harnessing the Power of Optimizer Hints

Why MySQL High Availability Matters
Why MySQL High Availability MattersWhy MySQL High Availability Matters
Why MySQL High Availability MattersMark Swarbrick
 
MySQL Shell - The DevOps Tool for MySQL
MySQL Shell - The DevOps Tool for MySQLMySQL Shell - The DevOps Tool for MySQL
MySQL Shell - The DevOps Tool for MySQLMiguel Araújo
 
MySQL Enterprise Monitor 3
MySQL Enterprise Monitor 3MySQL Enterprise Monitor 3
MySQL Enterprise Monitor 3Mark Swarbrick
 
MySQL Enterprise Edition
MySQL Enterprise EditionMySQL Enterprise Edition
MySQL Enterprise EditionMark Swarbrick
 
NZOUG-GroundBreakers-2018 - Troubleshooting and Diagnosing 18c RAC
NZOUG-GroundBreakers-2018 - Troubleshooting and Diagnosing 18c RACNZOUG-GroundBreakers-2018 - Troubleshooting and Diagnosing 18c RAC
NZOUG-GroundBreakers-2018 - Troubleshooting and Diagnosing 18c RACSandesh Rao
 
TDC2018SP | Trilha Arq Java - Crie arquiteturas escalaveis, multi-language e ...
TDC2018SP | Trilha Arq Java - Crie arquiteturas escalaveis, multi-language e ...TDC2018SP | Trilha Arq Java - Crie arquiteturas escalaveis, multi-language e ...
TDC2018SP | Trilha Arq Java - Crie arquiteturas escalaveis, multi-language e ...tdc-globalcode
 
MySQL Group Replication
MySQL Group ReplicationMySQL Group Replication
MySQL Group ReplicationMark Swarbrick
 
AUSOUG - Applied Machine Learning for Database Autonomous Health
AUSOUG - Applied Machine Learning for Database Autonomous HealthAUSOUG - Applied Machine Learning for Database Autonomous Health
AUSOUG - Applied Machine Learning for Database Autonomous HealthSandesh Rao
 
Achieving High Performance DevOps: A Roadmap for Managers and Decision Makers
Achieving High Performance DevOps: A Roadmap for Managers and Decision MakersAchieving High Performance DevOps: A Roadmap for Managers and Decision Makers
Achieving High Performance DevOps: A Roadmap for Managers and Decision MakersVlado Barun
 
MOUG17 Keynote: What's New from Oracle Database Development
MOUG17 Keynote: What's New from Oracle Database DevelopmentMOUG17 Keynote: What's New from Oracle Database Development
MOUG17 Keynote: What's New from Oracle Database DevelopmentMonica Li
 
Migrating your infrastructure to OpenStack - Avi Miller, Oracle
Migrating your infrastructure to OpenStack - Avi Miller, OracleMigrating your infrastructure to OpenStack - Avi Miller, Oracle
Migrating your infrastructure to OpenStack - Avi Miller, OracleOpenStack
 
Democratizing Serverless—The Open Source Fn Project - Serverless Summit
Democratizing Serverless—The Open Source Fn Project - Serverless SummitDemocratizing Serverless—The Open Source Fn Project - Serverless Summit
Democratizing Serverless—The Open Source Fn Project - Serverless SummitCodeOps Technologies LLP
 
Trivadis TechEvent 2017 Leveraging the Oracle Cloud by Kris Bhanushali tech_e...
Trivadis TechEvent 2017 Leveraging the Oracle Cloud by Kris Bhanushali tech_e...Trivadis TechEvent 2017 Leveraging the Oracle Cloud by Kris Bhanushali tech_e...
Trivadis TechEvent 2017 Leveraging the Oracle Cloud by Kris Bhanushali tech_e...Trivadis
 
Application Development with Oracle Database
Application Development with Oracle DatabaseApplication Development with Oracle Database
Application Development with Oracle Databasegvenzl
 
Oow MySQL Whats new in security overview sept 2017 v1
Oow MySQL Whats new in security overview sept 2017 v1Oow MySQL Whats new in security overview sept 2017 v1
Oow MySQL Whats new in security overview sept 2017 v1Mark Swarbrick
 
Building Modern Applications Using APIs, Microservices and Chatbots
Building Modern Applications Using APIs, Microservices and ChatbotsBuilding Modern Applications Using APIs, Microservices and Chatbots
Building Modern Applications Using APIs, Microservices and ChatbotsOracle Developers
 
TDC2018 | Trilha Java - The quest to the Language Graal: One VM to rule them...
TDC2018 | Trilha Java -  The quest to the Language Graal: One VM to rule them...TDC2018 | Trilha Java -  The quest to the Language Graal: One VM to rule them...
TDC2018 | Trilha Java - The quest to the Language Graal: One VM to rule them...tdc-globalcode
 
Sales Execution in the Era of Digital Transformation - Amit Manghani, Oracle
Sales Execution in the Era of Digital Transformation - Amit Manghani, OracleSales Execution in the Era of Digital Transformation - Amit Manghani, Oracle
Sales Execution in the Era of Digital Transformation - Amit Manghani, OracleSales Summit
 

Similar to Harnessing the Power of Optimizer Hints (20)

Why MySQL High Availability Matters
Why MySQL High Availability MattersWhy MySQL High Availability Matters
Why MySQL High Availability Matters
 
MySQL Shell - The DevOps Tool for MySQL
MySQL Shell - The DevOps Tool for MySQLMySQL Shell - The DevOps Tool for MySQL
MySQL Shell - The DevOps Tool for MySQL
 
Troubleshooting tldr
Troubleshooting tldrTroubleshooting tldr
Troubleshooting tldr
 
MySQL Enterprise Monitor 3
MySQL Enterprise Monitor 3MySQL Enterprise Monitor 3
MySQL Enterprise Monitor 3
 
REST in an Async World
REST in an Async WorldREST in an Async World
REST in an Async World
 
MySQL Enterprise Edition
MySQL Enterprise EditionMySQL Enterprise Edition
MySQL Enterprise Edition
 
NZOUG-GroundBreakers-2018 - Troubleshooting and Diagnosing 18c RAC
NZOUG-GroundBreakers-2018 - Troubleshooting and Diagnosing 18c RACNZOUG-GroundBreakers-2018 - Troubleshooting and Diagnosing 18c RAC
NZOUG-GroundBreakers-2018 - Troubleshooting and Diagnosing 18c RAC
 
TDC2018SP | Trilha Arq Java - Crie arquiteturas escalaveis, multi-language e ...
TDC2018SP | Trilha Arq Java - Crie arquiteturas escalaveis, multi-language e ...TDC2018SP | Trilha Arq Java - Crie arquiteturas escalaveis, multi-language e ...
TDC2018SP | Trilha Arq Java - Crie arquiteturas escalaveis, multi-language e ...
 
MySQL Group Replication
MySQL Group ReplicationMySQL Group Replication
MySQL Group Replication
 
AUSOUG - Applied Machine Learning for Database Autonomous Health
AUSOUG - Applied Machine Learning for Database Autonomous HealthAUSOUG - Applied Machine Learning for Database Autonomous Health
AUSOUG - Applied Machine Learning for Database Autonomous Health
 
Achieving High Performance DevOps: A Roadmap for Managers and Decision Makers
Achieving High Performance DevOps: A Roadmap for Managers and Decision MakersAchieving High Performance DevOps: A Roadmap for Managers and Decision Makers
Achieving High Performance DevOps: A Roadmap for Managers and Decision Makers
 
MOUG17 Keynote: What's New from Oracle Database Development
MOUG17 Keynote: What's New from Oracle Database DevelopmentMOUG17 Keynote: What's New from Oracle Database Development
MOUG17 Keynote: What's New from Oracle Database Development
 
Migrating your infrastructure to OpenStack - Avi Miller, Oracle
Migrating your infrastructure to OpenStack - Avi Miller, OracleMigrating your infrastructure to OpenStack - Avi Miller, Oracle
Migrating your infrastructure to OpenStack - Avi Miller, Oracle
 
Democratizing Serverless—The Open Source Fn Project - Serverless Summit
Democratizing Serverless—The Open Source Fn Project - Serverless SummitDemocratizing Serverless—The Open Source Fn Project - Serverless Summit
Democratizing Serverless—The Open Source Fn Project - Serverless Summit
 
Trivadis TechEvent 2017 Leveraging the Oracle Cloud by Kris Bhanushali tech_e...
Trivadis TechEvent 2017 Leveraging the Oracle Cloud by Kris Bhanushali tech_e...Trivadis TechEvent 2017 Leveraging the Oracle Cloud by Kris Bhanushali tech_e...
Trivadis TechEvent 2017 Leveraging the Oracle Cloud by Kris Bhanushali tech_e...
 
Application Development with Oracle Database
Application Development with Oracle DatabaseApplication Development with Oracle Database
Application Development with Oracle Database
 
Oow MySQL Whats new in security overview sept 2017 v1
Oow MySQL Whats new in security overview sept 2017 v1Oow MySQL Whats new in security overview sept 2017 v1
Oow MySQL Whats new in security overview sept 2017 v1
 
Building Modern Applications Using APIs, Microservices and Chatbots
Building Modern Applications Using APIs, Microservices and ChatbotsBuilding Modern Applications Using APIs, Microservices and Chatbots
Building Modern Applications Using APIs, Microservices and Chatbots
 
TDC2018 | Trilha Java - The quest to the Language Graal: One VM to rule them...
TDC2018 | Trilha Java -  The quest to the Language Graal: One VM to rule them...TDC2018 | Trilha Java -  The quest to the Language Graal: One VM to rule them...
TDC2018 | Trilha Java - The quest to the Language Graal: One VM to rule them...
 
Sales Execution in the Era of Digital Transformation - Amit Manghani, Oracle
Sales Execution in the Era of Digital Transformation - Amit Manghani, OracleSales Execution in the Era of Digital Transformation - Amit Manghani, Oracle
Sales Execution in the Era of Digital Transformation - Amit Manghani, Oracle
 

More from Maria Colgan

Five_Things_You_Might_Not_Know_About_Oracle_Database_v2.pptx
Five_Things_You_Might_Not_Know_About_Oracle_Database_v2.pptxFive_Things_You_Might_Not_Know_About_Oracle_Database_v2.pptx
Five_Things_You_Might_Not_Know_About_Oracle_Database_v2.pptxMaria Colgan
 
Part4 Influencing Execution Plans with Optimizer Hints
Part4 Influencing Execution Plans with Optimizer HintsPart4 Influencing Execution Plans with Optimizer Hints
Part4 Influencing Execution Plans with Optimizer HintsMaria Colgan
 
Part3 Explain the Explain Plan
Part3 Explain the Explain PlanPart3 Explain the Explain Plan
Part3 Explain the Explain PlanMaria Colgan
 
Part2 Best Practices for Managing Optimizer Statistics
Part2 Best Practices for Managing Optimizer StatisticsPart2 Best Practices for Managing Optimizer Statistics
Part2 Best Practices for Managing Optimizer StatisticsMaria Colgan
 
Part1 of SQL Tuning Workshop - Understanding the Optimizer
Part1 of SQL Tuning Workshop - Understanding the OptimizerPart1 of SQL Tuning Workshop - Understanding the Optimizer
Part1 of SQL Tuning Workshop - Understanding the OptimizerMaria Colgan
 
Ground Breakers Romania: Oracle Autonomous Database
Ground Breakers Romania: Oracle Autonomous DatabaseGround Breakers Romania: Oracle Autonomous Database
Ground Breakers Romania: Oracle Autonomous DatabaseMaria Colgan
 
Ground Breakers Romania: Explain the explain_plan
Ground Breakers Romania: Explain the explain_planGround Breakers Romania: Explain the explain_plan
Ground Breakers Romania: Explain the explain_planMaria Colgan
 
What to Expect From Oracle database 19c
What to Expect From Oracle database 19cWhat to Expect From Oracle database 19c
What to Expect From Oracle database 19cMaria Colgan
 
Beginners guide to_optimizer
Beginners guide to_optimizerBeginners guide to_optimizer
Beginners guide to_optimizerMaria Colgan
 
The Changing Role of a DBA in an Autonomous World
The Changing Role of a DBA in an Autonomous WorldThe Changing Role of a DBA in an Autonomous World
The Changing Role of a DBA in an Autonomous WorldMaria Colgan
 
Oracle Database in-Memory Overivew
Oracle Database in-Memory OverivewOracle Database in-Memory Overivew
Oracle Database in-Memory OverivewMaria Colgan
 
Useful PL/SQL Supplied Packages
Useful PL/SQL Supplied PackagesUseful PL/SQL Supplied Packages
Useful PL/SQL Supplied PackagesMaria Colgan
 
JSON and the Oracle Database
JSON and the Oracle DatabaseJSON and the Oracle Database
JSON and the Oracle DatabaseMaria Colgan
 
Five Tips to Get the Most Out of Your Indexing
Five Tips to Get the Most Out of Your IndexingFive Tips to Get the Most Out of Your Indexing
Five Tips to Get the Most Out of Your IndexingMaria Colgan
 
Oracle optimizer bootcamp
Oracle optimizer bootcampOracle optimizer bootcamp
Oracle optimizer bootcampMaria Colgan
 
What_to_expect_from_oracle_database_12c
What_to_expect_from_oracle_database_12cWhat_to_expect_from_oracle_database_12c
What_to_expect_from_oracle_database_12cMaria Colgan
 
Oracle database 12c_and_DevOps
Oracle database 12c_and_DevOpsOracle database 12c_and_DevOps
Oracle database 12c_and_DevOpsMaria Colgan
 

More from Maria Colgan (18)

Five_Things_You_Might_Not_Know_About_Oracle_Database_v2.pptx
Five_Things_You_Might_Not_Know_About_Oracle_Database_v2.pptxFive_Things_You_Might_Not_Know_About_Oracle_Database_v2.pptx
Five_Things_You_Might_Not_Know_About_Oracle_Database_v2.pptx
 
Part5 sql tune
Part5 sql tunePart5 sql tune
Part5 sql tune
 
Part4 Influencing Execution Plans with Optimizer Hints
Part4 Influencing Execution Plans with Optimizer HintsPart4 Influencing Execution Plans with Optimizer Hints
Part4 Influencing Execution Plans with Optimizer Hints
 
Part3 Explain the Explain Plan
Part3 Explain the Explain PlanPart3 Explain the Explain Plan
Part3 Explain the Explain Plan
 
Part2 Best Practices for Managing Optimizer Statistics
Part2 Best Practices for Managing Optimizer StatisticsPart2 Best Practices for Managing Optimizer Statistics
Part2 Best Practices for Managing Optimizer Statistics
 
Part1 of SQL Tuning Workshop - Understanding the Optimizer
Part1 of SQL Tuning Workshop - Understanding the OptimizerPart1 of SQL Tuning Workshop - Understanding the Optimizer
Part1 of SQL Tuning Workshop - Understanding the Optimizer
 
Ground Breakers Romania: Oracle Autonomous Database
Ground Breakers Romania: Oracle Autonomous DatabaseGround Breakers Romania: Oracle Autonomous Database
Ground Breakers Romania: Oracle Autonomous Database
 
Ground Breakers Romania: Explain the explain_plan
Ground Breakers Romania: Explain the explain_planGround Breakers Romania: Explain the explain_plan
Ground Breakers Romania: Explain the explain_plan
 
What to Expect From Oracle database 19c
What to Expect From Oracle database 19cWhat to Expect From Oracle database 19c
What to Expect From Oracle database 19c
 
Beginners guide to_optimizer
Beginners guide to_optimizerBeginners guide to_optimizer
Beginners guide to_optimizer
 
The Changing Role of a DBA in an Autonomous World
The Changing Role of a DBA in an Autonomous WorldThe Changing Role of a DBA in an Autonomous World
The Changing Role of a DBA in an Autonomous World
 
Oracle Database in-Memory Overivew
Oracle Database in-Memory OverivewOracle Database in-Memory Overivew
Oracle Database in-Memory Overivew
 
Useful PL/SQL Supplied Packages
Useful PL/SQL Supplied PackagesUseful PL/SQL Supplied Packages
Useful PL/SQL Supplied Packages
 
JSON and the Oracle Database
JSON and the Oracle DatabaseJSON and the Oracle Database
JSON and the Oracle Database
 
Five Tips to Get the Most Out of Your Indexing
Five Tips to Get the Most Out of Your IndexingFive Tips to Get the Most Out of Your Indexing
Five Tips to Get the Most Out of Your Indexing
 
Oracle optimizer bootcamp
Oracle optimizer bootcampOracle optimizer bootcamp
Oracle optimizer bootcamp
 
What_to_expect_from_oracle_database_12c
What_to_expect_from_oracle_database_12cWhat_to_expect_from_oracle_database_12c
What_to_expect_from_oracle_database_12c
 
Oracle database 12c_and_DevOps
Oracle database 12c_and_DevOpsOracle database 12c_and_DevOps
Oracle database 12c_and_DevOps
 

Recently uploaded

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
 
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
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
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
 
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
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
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
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
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
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
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
 

Recently uploaded (20)

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
 
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
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
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
 
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
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
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
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
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
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
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
 

Harnessing the Power of Optimizer Hints