21.07.2013 Views

Script (.pdf file, 2 MB) - SAP MaxDB

Script (.pdf file, 2 MB) - SAP MaxDB

Script (.pdf file, 2 MB) - SAP MaxDB

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>SAP</strong>® <strong>MaxDB</strong> Expert Sessions<br />

<strong>SAP</strong> <strong>MaxDB</strong> SQL Query Optimization - Part 1<br />

Christiane Hienger <strong>SAP</strong> AG<br />

Holger Becker <strong>SAP</strong> AG<br />

August 28, 2012<br />

© <strong>SAP</strong> 2012 <strong>SAP</strong> <strong>MaxDB</strong> Expert Session – Optimizer (Part 1)1


Agenda<br />

1. Introduction<br />

2 . EXPLAIN<br />

2.1. EXPLAIN<br />

2.2. EXPLAIN QUERYREWRITE<br />

3. Single Table Optimizer Strategies<br />

© <strong>SAP</strong> 20102/<strong>MaxDB</strong> 7.8 Expert Session– Optimizer Part 1 /Page 2


After this presentation, you will be able to:<br />

Use several EXPLAIN commands to analyze SQL queries<br />

Understand and interpret the EXPLAIN output<br />

Understand the usage of SQL strategies of the single table optimizer<br />

© <strong>SAP</strong> 20102/<strong>MaxDB</strong> 7.8 Expert Session – Optimizer Part 1/Page 3


Goals of Optimization<br />

Goal: Minimizing resource-consumption like<br />

CPU-time<br />

I/O-load<br />

Memory<br />

Disk space<br />

SQL Commands affected by optimization<br />

SELECT<br />

UPDATE<br />

DELETE<br />

INSERT/SELECT<br />

© <strong>SAP</strong> 2012 /<strong>MaxDB</strong> 7.8 Expert Session – Optimizer Part 1/Page 4


Cost-based Optimizer<br />

Cost-based optimizer<br />

Search strategy is determined via<br />

– current column content (values)<br />

– available indexes<br />

– estimated count of (page) accesses<br />

‚Lowest cost‘ strategy will be used.<br />

© <strong>SAP</strong> 2012 /<strong>MaxDB</strong> 7.8 Expert Session – Optimizer Part 1/Page 5


Which condition will be evaluated ?<br />

Single table SELECT<br />

Column = value<br />

Column value<br />

Column BETWEEN value AND value<br />

Column IN ( value, value, ... )<br />

Column LIKE string value (including %,?,...)<br />

Column = (ANY) <br />

Column IN <br />

© <strong>SAP</strong> 2012 /<strong>MaxDB</strong> 7.8 Expert Session – Optimizer Part 1/Page 6


Introduction into SQL Optimization<br />

SELECT * FROM zztele WHERE STR = ‚Wexstr‘<br />

© <strong>SAP</strong> 2012 /<strong>MaxDB</strong> 7.8 Expert Session – Optimizer Part 1/Page 7


Primary and Secondary keys (indexes)<br />

Primary key<br />

The primary key is stored in the data tree (clustered)<br />

No separate tree for primary key !<br />

Parts of the primary keys are used as separator in B*trees<br />

The records are stored in primary key order<br />

Secondary key (index)<br />

Construction of a separate B*tree for the secondary key values<br />

A secondary key does not contain physical addresses pointing to the base data but<br />

logical addresses in terms of primary keys<br />

© <strong>SAP</strong> 2012 /<strong>MaxDB</strong> 7.8 Expert Session – Optimizer Part 1/Page 8


Table Examples: ZZTELE<br />

# of records: around 115,000<br />

© <strong>SAP</strong> 2012 /<strong>MaxDB</strong> 7.8 Expert Session – Optimizer Part 1/Page 9<br />

:<br />

Create Table ZZTELE<br />

( NAME CHAR(40),<br />

VORNAME CHAR(20),<br />

STR CHAR(40),<br />

NR INT,<br />

PLZ CHAR(5),<br />

ORT CHAR(25),<br />

CODE CHAR(31),<br />

ADDINFO CHAR(31),<br />

PRIMARY KEY<br />

(NAME,VORNAME,STR) )


Table Examples: ZZSTADTTEIL , ZZMASTER<br />

around 20,000<br />

records<br />

© <strong>SAP</strong> 2012 /<strong>MaxDB</strong> 7.8 Expert Session – Optimizer Part 1/Page 10<br />

Create Table ZZSTADTTEIL<br />

( PLZ CHAR(5),<br />

ORT CHAR(25),<br />

STADTTEIL CHAR(40),<br />

PRIMARY KEY<br />

(PLZ) )<br />

Create Table ZZMASTER<br />

( YEAR INT,<br />

NAME CHAR(40),<br />

VORNAME CHAR(20),<br />

UNI CHAR (40),<br />

ORT CHAR (25),<br />

PRIMARY KEY<br />

(YEAR,NAME,VORNAME) )<br />

10 records


Indexes created on table ZZTELE<br />

© <strong>SAP</strong> 2012 /<strong>MaxDB</strong> 7.8 Expert Session – Optimizer Part 1/Page 11


Storing data in a B*tree<br />

Root Level<br />

Page<br />

Root node (Root) of table ZZTELE<br />

8 KByte D S U ....<br />

Level 1<br />

Pages<br />

Leaf Level<br />

Pages<br />

Base data as well as index data (secondary key) is stored in B*tree structures.<br />

© <strong>SAP</strong> 2012 /<strong>MaxDB</strong> 7.8 Expert Session – Optimizer Part 1/Page 12<br />

Brau Caes Dart Pete... Ste...<br />

Aaron Anton<br />

Steig 5<br />

...<br />

Brauner E.<br />

Ilseweg 11 ...<br />

Caesar<br />

S.Gartenweg 5


Information used by Optimization<br />

SELECT ... FROM tab1 WHERE tab1.col1 = 'Walldorf'<br />

Parse Statement<br />

Best Access Path<br />

© <strong>SAP</strong> 2012 /<strong>MaxDB</strong> 7.8 Expert Session – Optimizer Part 1/Page 13<br />

Final Strategy Execution<br />

DDL Information<br />

Value Evaluation


Explain (1)<br />

Input : EXPLAIN <br />

Output : Description of search strategy<br />

EXPLAIN is used with SELECT commands that access tables and views<br />

EXPLAIN does not execute the specified SELECT command.<br />

The explain command cannot be used with<br />

UPDATE, DELETE or INSERT commands<br />

© <strong>SAP</strong> 2012 /<strong>MaxDB</strong> 7.8 Expert Session – Optimizer Part 1/Page 14


Explain (2)<br />

SCHEMANAME<br />

Schema Table 1<br />

Schema Table 2<br />

TABLENAME COLUMN_OR_INDEX STRATEGY PAGECOUNT<br />

Result<br />

name<br />

© <strong>SAP</strong> 2012 /<strong>MaxDB</strong> 7.8 Expert Session – Optimizer Part 1/Page 15<br />

Names of key or<br />

index columns<br />

Names of key or<br />

index columns<br />

Name of chosen strategy<br />

for this table<br />

Name of chosen strategy<br />

for this table<br />

RESULT IS (NOT)<br />

COPIED, COSTVALUE IS<br />

Number of pages<br />

In system table<br />

Optimizerstatistics<br />

Number of pages<br />

in system table<br />

Optimizerstatistics<br />

Estimated<br />

costs<br />

Applied<br />

Query Rewrite rules 1


Query Rewrite<br />

Query Rewrite rebuilds SQL statements by the use of rules to enable the optimizer<br />

to find the best strategy.<br />

Example: ConvertOrToIn<br />

select * from zztele<br />

where PLZ = '10967' or PLZ = '15099' or PLZ = '12047'<br />

SELECT "NAME", "VORNAME", "STR", "NR",<br />

"PLZ", "ORT", "CODE", "ADDINFO"<br />

FROM "<strong>SAP</strong>R3"."ZZTELE" AS "_T1“<br />

WHERE PLZ in ('10967' , '15099' , '12047' )<br />

Parameter: EnableQueryRewrite=YES, QueryAnalysisMode=EXTENDED<br />

© <strong>SAP</strong> 2012 /<strong>MaxDB</strong> 7.8 Expert Session – Optimizer Part 1/Page 16


Query Rewrite Rules<br />

Changing the column ACTIVE in the view QUERYREWRITERULES effects if a rule<br />

is switched on or off.<br />

© <strong>SAP</strong> 2012 /<strong>MaxDB</strong> 7.8 Expert Session – Optimizer Part 1/Page 17


Monitoring Query Rewrite<br />

EXPLAIN QUERYREWRITE shows the result of Query Rewrite as SQL statement.<br />

The view MONITOR indicates how often rules were applied.<br />

© <strong>SAP</strong> 2012 /<strong>MaxDB</strong> 7.8 Expert Session – Optimizer Part 1/Page 18


Explain (3)<br />

© <strong>SAP</strong> 2012 /<strong>MaxDB</strong> 7.8 Expert Session – Optimizer Part 1/Page 19


Explain Queryrewrite<br />

© <strong>SAP</strong> 2012 /<strong>MaxDB</strong> 7.8 Expert Session – Optimizer Part 1/Page 20


Search Condition and Search Strategies (1)<br />

SELECT VORNAME,NAME,PLZ,ORT,STR,ADDINFO<br />

FROM ZZTELE<br />

WHERE ADDINFO LIKE 'Training%'<br />

© <strong>SAP</strong> 2012 /<strong>MaxDB</strong> 7.8 Expert Session – Optimizer Part 1/Page 21<br />

Search Strategy


Index and Table<br />

Index<br />

ZZTELE~3<br />

SELECT VORNAME,NAME,PLZ,ORT,STR,ADDINFO<br />

FROM ZZTELE<br />

WHERE PLZ = '10967'<br />

10967<br />

© <strong>SAP</strong> 2012 /<strong>MaxDB</strong> 7.8 Expert Session – Optimizer Part 1/Page 22<br />

Secondary Key Primary Key List<br />

Aimonsri Kano...Dummy Diel...<br />

Index List<br />

Aimonsri Kanopkon Dummy1<br />

:<br />

Dielschn Korina Dummy4<br />

10967 Berlin Fiance<br />

Primary Key Fieldvalues<br />

A 1<br />

Base Record<br />

10967 Berlin IBU Pub<br />

Base Table<br />

ZZTELE


EQUAL CONDITION FOR KEY<br />

SELECT * FROM zztele<br />

WHERE Name = 'Aaron'<br />

AND Vorname = 'Anton'<br />

AND Str = 'Alt Moabit'<br />

Key Value =<br />

© <strong>SAP</strong> 2012 /<strong>MaxDB</strong> 7.8 Expert Session – Optimizer Part 1/Page 23<br />

Base Table


EQUAL CONDITION FOR KEY - Example<br />

SELECT * FROM zztele<br />

WHERE Name = 'Aaron'<br />

AND Vorname = 'Anton'<br />

AND Str = 'Alt Moabit'<br />

© <strong>SAP</strong> 2012 /<strong>MaxDB</strong> 7.8 Expert Session – Optimizer Part 1/Page 24


RANGE CONDITION FOR KEY<br />

SELECT * FROM zztele WHERE Name = 'Schmidt'<br />

AND Vorname like 'A%'<br />

SELECT * FROM zztele<br />

STARTKEY<br />

CONDITION(S) TABLE SCAN RANGE<br />

STOPKEY<br />

© <strong>SAP</strong> 2012 /<strong>MaxDB</strong> 7.8 Expert Session – Optimizer Part 1/Page 25<br />

Base Table


RANGE CONDITION FOR KEY - Example<br />

SELECT * FROM zztele WHERE Name = 'Schmidt'<br />

AND Vorname like 'A%‘<br />

SELECT * FROM zztele<br />

© <strong>SAP</strong> 2012 /<strong>MaxDB</strong> 7.8 Expert Session – Optimizer Part 1/Page 26


IN CONDITION FOR KEY<br />

SELECT * FROM zztele<br />

WHERE Name IN ('Mueller', 'Schmidt')<br />

Key Value 1<br />

Key Value 2<br />

'Mueller'<br />

'Schmidt'<br />

© <strong>SAP</strong> 2012 /<strong>MaxDB</strong> 7.8 Expert Session – Optimizer Part 1/Page 27<br />

Base Table<br />

RANGE Cond for In


IN CONDITION FOR KEY - Example<br />

SELECT * FROM zztele<br />

WHERE Name IN ('Mueller', 'Schmidt')<br />

SELECT * FROM zztele<br />

WHERE Name IN ('Scheu', 'Schmidt')<br />

© <strong>SAP</strong> 2012 /<strong>MaxDB</strong> 7.8 Expert Session – Optimizer Part 1/Page 28


EQUAL CONDITION FOR INDEX<br />

CREATE INDEX "ZZTELE~3" ON ZZTELE(PLZ)<br />

SELECT * FROM zztele<br />

WHERE plz = ‘12345'<br />

Single<br />

Index<br />

© <strong>SAP</strong> 2012 /<strong>MaxDB</strong> 7.8 Expert Session – Optimizer Part 1/Page 29<br />

Index List<br />

12345<br />

primary key list<br />

Base Table


EQUAL CONDITION FOR INDEX - Example<br />

CREATE INDEX "ZZTELE~3" ON ZZTELE(PLZ)<br />

SELECT * FROM zztele<br />

WHERE plz = '12345'<br />

© <strong>SAP</strong> 2012 /<strong>MaxDB</strong> 7.8 Expert Session – Optimizer Part 1/Page 30


RANGE CONDITION FOR INDEX<br />

CREATE INDEX "ZZTELE~3" ON ZZTELE(PLZ)<br />

SELECT * FROM zztele<br />

WHERE plz BETWEEN '10100' AND '10967'<br />

Index<br />

SCAN<br />

RANGE<br />

Index<br />

© <strong>SAP</strong> 2012 /<strong>MaxDB</strong> 7.8 Expert Session – Optimizer Part 1/Page 31<br />

Index List<br />

Index List<br />

primary key list<br />

primary key list<br />

Base Table


RANGE CONDITION FOR INDEX - Example<br />

CREATE INDEX "ZZTELE~3" ON ZZTELE(PLZ)<br />

SELECT * FROM zztele<br />

WHERE plz BETWEEN '10100' AND '10967'<br />

© <strong>SAP</strong> 2012 /<strong>MaxDB</strong> 7.8 Expert Session – Optimizer Part 1/Page 32


IN CONDITION FOR INDEX<br />

CREATE INDEX "ZZTELE~2" ON ZZTELE ( STR, NR )<br />

SELECT * FROM zztele<br />

WHERE str = 'Wexstr' AND nr IN (3, 255)<br />

Multiple<br />

Index<br />

© <strong>SAP</strong> 2012 /<strong>MaxDB</strong> 7.8 Expert Session – Optimizer Part 1/Page 33<br />

Index List<br />

3<br />

Index List<br />

255<br />

primary key list<br />

primary key list<br />

Base Table


IN CONDITION FOR INDEX - Example<br />

CREATE INDEX "ZZTELE~2" ON ZZTELE ( STR, NR )<br />

SELECT * FROM zztele<br />

WHERE str = 'Wexstr' AND nr IN (3, 255)<br />

© <strong>SAP</strong> 2012 /<strong>MaxDB</strong> 7.8 Expert Session – Optimizer Part 1/Page 34


Properties which influence the Optimizer<br />

Only Index<br />

Create intermediate result Yes / NO ( e.g. order by)<br />

Min / Max Optimization<br />

Distinct<br />

© <strong>SAP</strong> 2012 /<strong>MaxDB</strong> 7.8 Expert Session – Optimizer Part 1/Page 35


ONLY INDEX ACCESSED<br />

Index<br />

© <strong>SAP</strong> 2012 /<strong>MaxDB</strong> 7.8 Expert Session – Optimizer Part 1/Page 36<br />

Secondary Key Primary Key List<br />

plz name<br />

12345 Antoa Dry Huebel Marek ...<br />

SELECT name, plz<br />

FROM zztele<br />

WHERE plz = '12345'<br />

Base Table


ONLY INDEX ACCESSED - Example<br />

SELECT name, plz<br />

FROM zztele<br />

WHERE plz = '12345'<br />

© <strong>SAP</strong> 2012 /<strong>MaxDB</strong> 7.8 Expert Session – Optimizer Part 1/Page 37


ORDER BY Index column(s)<br />

CREATE INDEX "ZZTELE~2" ON zztele ( str, nr )<br />

SELECT * FROM zztele WHERE name BETWEEN 'A' and 'T'<br />

ORDER BY str, nr<br />

Index<br />

© <strong>SAP</strong> 2012 /<strong>MaxDB</strong> 7.8 Expert Session – Optimizer Part 1/Page 38<br />

Index List<br />

Index List<br />

primary key list<br />

primary key list<br />

Base Table


ORDER BY Index column(s) - Example<br />

SELECT * FROM zztele WHERE name<br />

BETWEEN 'A' and 'T'<br />

ORDER BY str, nr<br />

© <strong>SAP</strong> 2012 /<strong>MaxDB</strong> 7.8 Expert Session – Optimizer Part 1/Page 39


ORDER BY key column(s)<br />

CREATE INDEX "ZZTELE~2" ON ZZTELE ( STR, NR )<br />

SELECT * FROM zztele<br />

WHERE str = 'Wexstr' AND nr BETWEEN 20 AND 23<br />

ORDER BY name, vorname, str<br />

Single<br />

Index<br />

20<br />

Index List<br />

22<br />

Kernel parameter: IndexlistsMergeThreshold<br />

© <strong>SAP</strong> 2012 /<strong>MaxDB</strong> 7.8 Expert Session – Optimizer Part 1/Page 40<br />

primary key list<br />

primary key list<br />

Index List<br />

23<br />

primary key list<br />

Merged<br />

List<br />

Base Table


ORDER BY key column(s) - Example<br />

SELECT * FROM zztele<br />

WHERE str = 'Wexstr' AND nr<br />

BETWEEN 20 AND 23<br />

ORDER BY name, vorname, str<br />

© <strong>SAP</strong> 2012 /<strong>MaxDB</strong> 7.8 Expert Session – Optimizer Part 1/Page 41


MIN/MAX Optimization - Example<br />

CREATE INDEX "ZZTELE~2" ON zztele ( str, nr )<br />

SELECT MAX (nr)<br />

FROM zztele<br />

WHERE str = 'Wexstr'<br />

© <strong>SAP</strong> 2012 /<strong>MaxDB</strong> 7.8 Expert Session – Optimizer Part 1/Page 42


DISTINCT Optimization - Example<br />

CREATE INDEX "ZZTELE~1" ON zztele ( ort, str )<br />

select distinct (ort)<br />

from zztele<br />

© <strong>SAP</strong> 2012 /<strong>MaxDB</strong> 7.8 Expert Session – Optimizer Part 1/Page 43


NO STRATEGY NOW (ONLY AT EXECUTION<br />

TIME)<br />

Strategy will be determined first during execution of the command<br />

This is valid for queries if the access path will be determined first when they are<br />

executed.<br />

Usually this output is used for queries containing sub-queries or correlated subqueries:<br />

strategy will first be determined when interim results become available.<br />

© <strong>SAP</strong> 2012 /<strong>MaxDB</strong> 7.8 Expert Session – Optimizer Part 1/Page 44


SUBQUERY allows CONDITION FOR KEY<br />

SELECT * FROM zztele<br />

WHERE name IN (SELECT name FROM zzmaster WHERE year = 2000)<br />

Internal<br />

Subquery File<br />

Key Value 1<br />

Key Value 2<br />

Key Value 3<br />

Key Value 4<br />

Key Value 5<br />

© <strong>SAP</strong> 2012 /<strong>MaxDB</strong> 7.8 Expert Session – Optimizer Part 1/Page 45<br />

‘Aimonsri'<br />

Base Table


SUBQUERY – Example (1)<br />

EXPLAIN SELECT * FROM zztele<br />

WHERE name IN<br />

(SELECT name FROM zzmaster<br />

WHERE year = 2000)<br />

© <strong>SAP</strong> 2012 /<strong>MaxDB</strong> 7.8 Expert Session – Optimizer Part 1/Page 46


SUBQUERY allows CONDITION FOR INDEX<br />

CREATE INDEX "ZZTELE~3" ON ZZTELE(PLZ)<br />

SELECT * FROM zztele WHERE plz IN<br />

(SELECT plz FROM zzstadtteil WHERE stadtteil = 'Kreuzberg' )<br />

Internal<br />

Subquery<br />

File<br />

Value 1<br />

Value 1<br />

Value 1<br />

Value 2<br />

Value 3<br />

Value 3<br />

Value 4<br />

© <strong>SAP</strong> 2012 /<strong>MaxDB</strong> 7.8 Expert Session – Optimizer Part 1/Page 47<br />

Single<br />

Index<br />

Index List<br />

val 1<br />

Index List<br />

val 3<br />

primary key list<br />

primary key list<br />

Base Table


SUBQUERY – Example (2)<br />

© <strong>SAP</strong> 2012 /<strong>MaxDB</strong> 7.8 Expert Session – Optimizer Part 1/Page 48<br />

CREATE INDEX "ZZTELE~3" ON ZZTELE(PLZ)<br />

SELECT * FROM zztele<br />

WHERE plz IN<br />

(SELECT plz FROM zzstadtteil<br />

WHERE stadtteil = 'Kreuzberg' )


Nice to know<br />

SELECT plz FROM zzstadtteil WHERE stadtteil like ‚%berg'<br />

SELECT * FROM zzmaster WHERE vorname = 'Lars'<br />

SELECT * FROM zztele<br />

WHERE name IN ('Aimonsri', 'Hofmann', 'Lueck', 'MORONI', 'Reijer')<br />

AND vorname IN ( 'Jan', 'Walter')<br />

SELECT * FROM zzmaster<br />

WHERE year + 1 = 2001<br />

© <strong>SAP</strong> 2012 /<strong>MaxDB</strong> 7.8 Expert Session – Optimizer Part 1/Page 49<br />

SELECT * FROM zzmaster<br />

WHERE year = 2001 - 1


© <strong>SAP</strong> AG 2009. All rights reserved. / Page 50<br />

Questions and Answers


Thank You!<br />

Bye, Bye – And Remember Next Session<br />

© <strong>SAP</strong> 2012 /<strong>MaxDB</strong> 7.8 Expert Session – Optimizer Part 1/Page 51<br />

Feedback and further information:<br />

http://www.sdn.sap.com/irj/sdn/maxdb<br />

Next Session: 29.08.2012<br />

<strong>SAP</strong>® <strong>MaxDB</strong> SQL Query Optimization - Part 2


Disclaimer<br />

This presentation reflects current planning.<br />

© <strong>SAP</strong> 2012 /<strong>MaxDB</strong> 7.8 Expert Session – Optimizer Part 1/Page 52<br />

Contents may be changed<br />

without prior notice, and are in no way<br />

binding upon <strong>SAP</strong>.


© Copyright 2012 <strong>SAP</strong> AG<br />

All Rights Reserved<br />

No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of <strong>SAP</strong> AG. The information contained herein<br />

may be changed without prior notice.<br />

Some software products marketed by <strong>SAP</strong> AG and its distributors contain proprietary software components of other software vendors.<br />

Microsoft, Windows, Excel, Outlook, and PowerPoint are registered trademarks of Microsoft Corporation.<br />

IBM, DB2, DB2 Universal Database, System i, System i5, System p, System p5, System x, System z, System z10, System z9, z10, z9, iSeries, pSeries, xSeries, zSeries,<br />

eServer, z/VM, z/OS, i5/OS, S/390, OS/390, OS/400, AS/400, S/390 Parallel Enterprise Server, PowerVM, Power Architecture, POWER6+, POWER6, POWER5+,<br />

POWER5, POWER, OpenPower, PowerPC, BatchPipes, BladeCenter, System Storage, GPFS, HACMP, RETAIN, DB2 Connect, RACF, Redbooks, OS/2, Parallel Sysplex,<br />

MVS/ESA, AIX, Intelligent Miner, WebSphere, Netfinity, Tivoli and Informix are trademarks or registered trademarks of IBM Corporation.<br />

Linux is the registered trademark of Linus Torvalds in the U.S. and other countries.<br />

Adobe, the Adobe logo, Acrobat, Post<strong>Script</strong>, and Reader are either trademarks or registered trademarks of Adobe Systems Incorporated in the United States and/or other<br />

countries.<br />

Oracle is a registered trademark of Oracle Corporation.<br />

UNIX, X/Open, OSF/1, and Motif are registered trademarks of the Open Group.<br />

Citrix, ICA, Program Neighborhood, MetaFrame, WinFrame, VideoFrame, and MultiWin are trademarks or registered trademarks of Citrix Systems, Inc.<br />

HTML, XML, XHTML and W3C are trademarks or registered trademarks of W3C®, World Wide Web Consortium, Massachusetts Institute of Technology.<br />

Java is a registered trademark of Sun Microsystems, Inc.<br />

Java<strong>Script</strong> is a registered trademark of Sun Microsystems, Inc., used under license for technology invented and implemented by Netscape.<br />

<strong>SAP</strong>, R/3, <strong>SAP</strong> NetWeaver, Duet, PartnerEdge, ByDesign, <strong>SAP</strong> Business ByDesign, and other <strong>SAP</strong> products and services mentioned herein as well as their respective<br />

logos are trademarks or registered trademarks of <strong>SAP</strong> AG in Germany and other countries.<br />

Business Objects and the Business Objects logo, BusinessObjects, Crystal Reports, Crystal Decisions, Web Intelligence, Xcelsius, and other Business Objects products and<br />

services mentioned herein as well as their respective logos are trademarks or registered trademarks of Business Objects S.A. in the United States and in other countries.<br />

Business Objects is an <strong>SAP</strong> company.<br />

All other product and service names mentioned are the trademarks of their respective companies. Data contained in this document serves informational purposes only.<br />

National product specifications may vary.<br />

These materials are subject to change without notice. These materials are provided by <strong>SAP</strong> AG and its affiliated companies ("<strong>SAP</strong> Group") for informational purposes only,<br />

without representation or warranty of any kind, and <strong>SAP</strong> Group shall not be liable for errors or omissions with respect to the materials. The only warranties for <strong>SAP</strong> Group<br />

products and services are those that are set forth in the express warranty statements accompanying such products and services, if any. Nothing herein should be construed<br />

as constituting an additional warrant.<br />

© <strong>SAP</strong> 2012 <strong>SAP</strong> <strong>MaxDB</strong> Expert Session – Optimizer (Part 1)53

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!