SlideShare una empresa de Scribd logo
1 de 58
Performance by Design Guy Harrison Director, R&D Melbourne www.guyharrison.net
Introductions
http://www.motivatedphotos.com/?id=17760
Not worrying, just wondering... How will Oracle deal respond to Hadoop? Will Oracle play in the NoSQL database world? What will happen to MySQL? What will happen to red-shirt TOAD?
Core message Design limits performance Architecture maps requirements to design Make sure performance requirements are specified Make sure architecture allows for performance Make sure performance requirements are realized
Elements of Performance by Design
Methodology
High performance can mean different things Speed: response time
Efficiency: power consumption
Power: throughput
Not usually easy to change architectures
Poorly defined requirements lead to this:
The fail whale
Twitter growth
“Twitter is, fundamentally, a messaging system. Twitter was not architected as a messaging system, however. For expediency's sake, Twitter was built with technologies and practices that are more appropriate to a content management system.”
Patterns of database performance Hard to distinguish patterns at low levels
Database Design
Normalize, but not too far!
Other logical design thoughts Artificial keys Generally more efficient than long composite keys Null values Not a good idea if you intend to search for “unknown” or “incomplete” values Null should not mean something But beneficial as long as you don’t need to look for them.  Data types Constraints on precision can sometimes reduce row lengths Variable length strings usually better Carefully consider CLOBs vs long VARCHARs
Logical to Physical: Subtypes “Customers are people too”
Indexing, clustering and weird table types Lots’ of options: B*-Tree index Bitmap index Hash cluster Index Cluster Nested table Index Organized Table Most often useful: B*-Tree (concatenated) indexes Bitmap indexes Hash Clusters
Concatenated index effectiveness SELECT cust_id FROM sh.customers c WHERE cust_first_name = 'Connor' AND cust_last_name = 'Bishop' AND cust_year_of_birth = 1976;
Concatenated indexing guidleines Create a concatenated index for columns from a table that appear together in the WHERE clause. If columns sometimes appear on their own in a WHERE clause, place them at the start of the index. The more selective a column is, the more useful it will be at the leading end of the index (better single key lookups) But indexes compress better when the leading columns are less selective. (better scans)  Index skip scans can make use of an index even if the leading columns are not specified, but it’s a poor second choice to a “normal” index range scan.
Bitmap indexes
Bitmap indexes
Bitmap join performance  SELECT SUM (amount_sold) FROM customers JOIN sales s USING (cust_id) WHERE cust_email='flint.jeffreys@company2.com';
Index overhead
Hash Cluster Cluster key determines physical location on disk Single IO lookup by cluster key Misconfiguration leads to overflow or sparse tables  Sparse Overflow
Hash Cluster vs B-tree index
Hash cluster table scan
Denormalization and partitioning Repeating groups – VARRAYS, nested tables Summary tables – Materialized Views, Result cache Horizontal partitioning – Oracle Partition Option  In-line aggregations – Dimensions  Derived columns – Virtual columns Vertical partitioning  Replicated columns - triggers
Summary tables Aggregate queries on big tables often the most expensive Pre-computing them makes a lot of sense Balance accuracy with overhead  Aggregate Query MV on COMMIT Manual Summary Result set cache MV stale tolerated  Accuracy Efficiency
Vertical partitioning
Physical storage options LOB Storage PCTFREE Compression  Block size  Partitioning
Application Architecture and implementation
The best SQL is no SQL  Avoid asking for the same data twice.
11g client side cache  CLIENT_RESULT_CACHE_SIZE: this is the amount of memory each client program will dedicate to the cache. Use RESULT_CACHE hint or (11GR2) table property Optionally set the CLIENT_RESULT_CACHE_LAG
Parse overhead It’s easy enough in most programming languages to create a unique SQL for every query:
Bind variables are preferred
Parse overhead reduction
Identifying similar SQLs See force_matching.sql at www.guyharrison.net
Transaction design  Optimistic vs. Pessimistic
Using ORA_ROWSCN Setting ROWDEPENDENCIES will reduce false fails
Network – stored procedures
Network traffic example
Array processing - Fetch
Network overhead – Array processing
Array Insert (Java)
Array Insert: (.NET)
Array Insert – PL/SQL
Array Insert Performance
Brockman Kwik-E-Mart, Ms Krabaple, Mrs. Hoover , WaylanSmithers 2)Who is C. Montgomery Burns' assistant?Answer3)Who is Bart's Teacher? Lisa's?Answer 6)Kent ______ is the local newscaster.Answer7)____-_-____ is the local convenience store.Answer

Más contenido relacionado

Destacado

AAUP 2010 Meeting Patron Driven Access Panel
AAUP 2010 Meeting Patron Driven Access PanelAAUP 2010 Meeting Patron Driven Access Panel
AAUP 2010 Meeting Patron Driven Access PanelPenn State Press
 
Reinventing Suburbia: Best Practices in New Urbanism
Reinventing Suburbia: Best Practices in New UrbanismReinventing Suburbia: Best Practices in New Urbanism
Reinventing Suburbia: Best Practices in New UrbanismOHM Advisors
 
WordPress Development Confoo 2010
WordPress Development Confoo 2010WordPress Development Confoo 2010
WordPress Development Confoo 2010Brendan Sera-Shriar
 
Wastewater Treatment Systems-Public And Private
Wastewater Treatment Systems-Public And PrivateWastewater Treatment Systems-Public And Private
Wastewater Treatment Systems-Public And PrivateOHM Advisors
 
Awkward Family Photos Slide Show
Awkward Family Photos   Slide ShowAwkward Family Photos   Slide Show
Awkward Family Photos Slide ShowRobinNicole621
 
Information Skills: 7. Natural Resources Wales Library (Natural Sciences, Ban...
Information Skills: 7. Natural Resources Wales Library (Natural Sciences, Ban...Information Skills: 7. Natural Resources Wales Library (Natural Sciences, Ban...
Information Skills: 7. Natural Resources Wales Library (Natural Sciences, Ban...Vashti Zarach
 
Equity Compensation in the news 2010
Equity Compensation in the news 2010Equity Compensation in the news 2010
Equity Compensation in the news 2010PERFORMENSATION
 
Next generation databases july2010
Next generation databases july2010Next generation databases july2010
Next generation databases july2010Guy Harrison
 
Linha 0i - Comparativo e opções
Linha 0i - Comparativo e opçõesLinha 0i - Comparativo e opções
Linha 0i - Comparativo e opçõesPrestus®
 
Thefarm n1 15.30 p-guzman2013
Thefarm n1 15.30 p-guzman2013Thefarm n1 15.30 p-guzman2013
Thefarm n1 15.30 p-guzman2013Patricia Guzman
 
Ket Qua Xet Tuyen Lop 6
Ket Qua Xet Tuyen Lop 6Ket Qua Xet Tuyen Lop 6
Ket Qua Xet Tuyen Lop 6guestd9ddd7b
 
Regulatory, Technical and Modeling Challenges to Developing a Frequency Based...
Regulatory, Technical and Modeling Challenges to Developing a Frequency Based...Regulatory, Technical and Modeling Challenges to Developing a Frequency Based...
Regulatory, Technical and Modeling Challenges to Developing a Frequency Based...OHM Advisors
 
Make Web, Not War - Open Source Microsoft Event
Make Web, Not War - Open Source Microsoft EventMake Web, Not War - Open Source Microsoft Event
Make Web, Not War - Open Source Microsoft EventBrendan Sera-Shriar
 
Indy 2009
Indy 2009Indy 2009
Indy 2009rlantz
 
lesson_03 Setting up Adwords Accounts, Adwords, and Selecting Businesses
lesson_03 Setting up Adwords Accounts, Adwords, and Selecting Businesseslesson_03 Setting up Adwords Accounts, Adwords, and Selecting Businesses
lesson_03 Setting up Adwords Accounts, Adwords, and Selecting BusinessesJim Jansen
 
Linha Vivo - Comparativo e opções
Linha Vivo - Comparativo e opçõesLinha Vivo - Comparativo e opções
Linha Vivo - Comparativo e opçõesPrestus®
 
7 key ways to drive revenue using li updated
7 key ways to drive revenue using li updated7 key ways to drive revenue using li updated
7 key ways to drive revenue using li updatedmbieler
 

Destacado (20)

AAUP 2010 Meeting Patron Driven Access Panel
AAUP 2010 Meeting Patron Driven Access PanelAAUP 2010 Meeting Patron Driven Access Panel
AAUP 2010 Meeting Patron Driven Access Panel
 
Reinventing Suburbia: Best Practices in New Urbanism
Reinventing Suburbia: Best Practices in New UrbanismReinventing Suburbia: Best Practices in New Urbanism
Reinventing Suburbia: Best Practices in New Urbanism
 
WordPress Development Confoo 2010
WordPress Development Confoo 2010WordPress Development Confoo 2010
WordPress Development Confoo 2010
 
Wastewater Treatment Systems-Public And Private
Wastewater Treatment Systems-Public And PrivateWastewater Treatment Systems-Public And Private
Wastewater Treatment Systems-Public And Private
 
Awkward Family Photos Slide Show
Awkward Family Photos   Slide ShowAwkward Family Photos   Slide Show
Awkward Family Photos Slide Show
 
Information Skills: 7. Natural Resources Wales Library (Natural Sciences, Ban...
Information Skills: 7. Natural Resources Wales Library (Natural Sciences, Ban...Information Skills: 7. Natural Resources Wales Library (Natural Sciences, Ban...
Information Skills: 7. Natural Resources Wales Library (Natural Sciences, Ban...
 
Equity Compensation in the news 2010
Equity Compensation in the news 2010Equity Compensation in the news 2010
Equity Compensation in the news 2010
 
обо мне
обо мнеобо мне
обо мне
 
Vbs 2009 PPT
Vbs 2009 PPTVbs 2009 PPT
Vbs 2009 PPT
 
Next generation databases july2010
Next generation databases july2010Next generation databases july2010
Next generation databases july2010
 
Linha 0i - Comparativo e opções
Linha 0i - Comparativo e opçõesLinha 0i - Comparativo e opções
Linha 0i - Comparativo e opções
 
Customer Relations
Customer RelationsCustomer Relations
Customer Relations
 
Thefarm n1 15.30 p-guzman2013
Thefarm n1 15.30 p-guzman2013Thefarm n1 15.30 p-guzman2013
Thefarm n1 15.30 p-guzman2013
 
Ket Qua Xet Tuyen Lop 6
Ket Qua Xet Tuyen Lop 6Ket Qua Xet Tuyen Lop 6
Ket Qua Xet Tuyen Lop 6
 
Regulatory, Technical and Modeling Challenges to Developing a Frequency Based...
Regulatory, Technical and Modeling Challenges to Developing a Frequency Based...Regulatory, Technical and Modeling Challenges to Developing a Frequency Based...
Regulatory, Technical and Modeling Challenges to Developing a Frequency Based...
 
Make Web, Not War - Open Source Microsoft Event
Make Web, Not War - Open Source Microsoft EventMake Web, Not War - Open Source Microsoft Event
Make Web, Not War - Open Source Microsoft Event
 
Indy 2009
Indy 2009Indy 2009
Indy 2009
 
lesson_03 Setting up Adwords Accounts, Adwords, and Selecting Businesses
lesson_03 Setting up Adwords Accounts, Adwords, and Selecting Businesseslesson_03 Setting up Adwords Accounts, Adwords, and Selecting Businesses
lesson_03 Setting up Adwords Accounts, Adwords, and Selecting Businesses
 
Linha Vivo - Comparativo e opções
Linha Vivo - Comparativo e opçõesLinha Vivo - Comparativo e opções
Linha Vivo - Comparativo e opções
 
7 key ways to drive revenue using li updated
7 key ways to drive revenue using li updated7 key ways to drive revenue using li updated
7 key ways to drive revenue using li updated
 

Similar a How to optimize database performance through design

Performance By Design
Performance By DesignPerformance By Design
Performance By DesignGuy Harrison
 
The thinking persons guide to data warehouse design
The thinking persons guide to data warehouse designThe thinking persons guide to data warehouse design
The thinking persons guide to data warehouse designCalpont
 
OLAP Battle - SolrCloud vs. HBase: Presented by Dragan Milosevic, Zanox AG
OLAP Battle - SolrCloud vs. HBase: Presented by Dragan Milosevic, Zanox AGOLAP Battle - SolrCloud vs. HBase: Presented by Dragan Milosevic, Zanox AG
OLAP Battle - SolrCloud vs. HBase: Presented by Dragan Milosevic, Zanox AGLucidworks
 
Front Range PHP NoSQL Databases
Front Range PHP NoSQL DatabasesFront Range PHP NoSQL Databases
Front Range PHP NoSQL DatabasesJon Meredith
 
SQL Server 2008 Development for Programmers
SQL Server 2008 Development for ProgrammersSQL Server 2008 Development for Programmers
SQL Server 2008 Development for ProgrammersAdam Hutson
 
NoSQL - A Closer Look to Couchbase
NoSQL - A Closer Look to CouchbaseNoSQL - A Closer Look to Couchbase
NoSQL - A Closer Look to CouchbaseMohammad Shaker
 
15 Ways to Kill Your Mysql Application Performance
15 Ways to Kill Your Mysql Application Performance15 Ways to Kill Your Mysql Application Performance
15 Ways to Kill Your Mysql Application Performanceguest9912e5
 
Brad McGehee Intepreting Execution Plans Mar09
Brad McGehee Intepreting Execution Plans Mar09Brad McGehee Intepreting Execution Plans Mar09
Brad McGehee Intepreting Execution Plans Mar09guest9d79e073
 
Brad McGehee Intepreting Execution Plans Mar09
Brad McGehee Intepreting Execution Plans Mar09Brad McGehee Intepreting Execution Plans Mar09
Brad McGehee Intepreting Execution Plans Mar09Mark Ginnebaugh
 
HBaseCon 2012 | HBase Schema Design - Ian Varley, Salesforce
HBaseCon 2012 | HBase Schema Design - Ian Varley, SalesforceHBaseCon 2012 | HBase Schema Design - Ian Varley, Salesforce
HBaseCon 2012 | HBase Schema Design - Ian Varley, SalesforceCloudera, Inc.
 
Enterprise NoSQL: Silver Bullet or Poison Pill
Enterprise NoSQL: Silver Bullet or Poison PillEnterprise NoSQL: Silver Bullet or Poison Pill
Enterprise NoSQL: Silver Bullet or Poison PillBilly Newport
 
Inside SQL Server In-Memory OLTP
Inside SQL Server In-Memory OLTPInside SQL Server In-Memory OLTP
Inside SQL Server In-Memory OLTPBob Ward
 
SQL Server Index and Partition Strategy
SQL Server Index and Partition StrategySQL Server Index and Partition Strategy
SQL Server Index and Partition StrategyHamid J. Fard
 
dotnetMALAGA - Sql query tuning guidelines
dotnetMALAGA - Sql query tuning guidelinesdotnetMALAGA - Sql query tuning guidelines
dotnetMALAGA - Sql query tuning guidelinesJavier García Magna
 
Myth busters - performance tuning 102 2008
Myth busters - performance tuning 102 2008Myth busters - performance tuning 102 2008
Myth busters - performance tuning 102 2008paulguerin
 

Similar a How to optimize database performance through design (20)

Performance By Design
Performance By DesignPerformance By Design
Performance By Design
 
The thinking persons guide to data warehouse design
The thinking persons guide to data warehouse designThe thinking persons guide to data warehouse design
The thinking persons guide to data warehouse design
 
OLAP Battle - SolrCloud vs. HBase: Presented by Dragan Milosevic, Zanox AG
OLAP Battle - SolrCloud vs. HBase: Presented by Dragan Milosevic, Zanox AGOLAP Battle - SolrCloud vs. HBase: Presented by Dragan Milosevic, Zanox AG
OLAP Battle - SolrCloud vs. HBase: Presented by Dragan Milosevic, Zanox AG
 
Mysql For Developers
Mysql For DevelopersMysql For Developers
Mysql For Developers
 
No SQL and MongoDB - Hyderabad Scalability Meetup
No SQL and MongoDB - Hyderabad Scalability MeetupNo SQL and MongoDB - Hyderabad Scalability Meetup
No SQL and MongoDB - Hyderabad Scalability Meetup
 
Front Range PHP NoSQL Databases
Front Range PHP NoSQL DatabasesFront Range PHP NoSQL Databases
Front Range PHP NoSQL Databases
 
SQL Server 2008 Development for Programmers
SQL Server 2008 Development for ProgrammersSQL Server 2008 Development for Programmers
SQL Server 2008 Development for Programmers
 
NoSQL - A Closer Look to Couchbase
NoSQL - A Closer Look to CouchbaseNoSQL - A Closer Look to Couchbase
NoSQL - A Closer Look to Couchbase
 
15 Ways to Kill Your Mysql Application Performance
15 Ways to Kill Your Mysql Application Performance15 Ways to Kill Your Mysql Application Performance
15 Ways to Kill Your Mysql Application Performance
 
Brad McGehee Intepreting Execution Plans Mar09
Brad McGehee Intepreting Execution Plans Mar09Brad McGehee Intepreting Execution Plans Mar09
Brad McGehee Intepreting Execution Plans Mar09
 
Brad McGehee Intepreting Execution Plans Mar09
Brad McGehee Intepreting Execution Plans Mar09Brad McGehee Intepreting Execution Plans Mar09
Brad McGehee Intepreting Execution Plans Mar09
 
HBaseCon 2012 | HBase Schema Design - Ian Varley, Salesforce
HBaseCon 2012 | HBase Schema Design - Ian Varley, SalesforceHBaseCon 2012 | HBase Schema Design - Ian Varley, Salesforce
HBaseCon 2012 | HBase Schema Design - Ian Varley, Salesforce
 
Enterprise NoSQL: Silver Bullet or Poison Pill
Enterprise NoSQL: Silver Bullet or Poison PillEnterprise NoSQL: Silver Bullet or Poison Pill
Enterprise NoSQL: Silver Bullet or Poison Pill
 
Oslo baksia2014
Oslo baksia2014Oslo baksia2014
Oslo baksia2014
 
Inside SQL Server In-Memory OLTP
Inside SQL Server In-Memory OLTPInside SQL Server In-Memory OLTP
Inside SQL Server In-Memory OLTP
 
Dbms schemas for decision support
Dbms schemas for decision supportDbms schemas for decision support
Dbms schemas for decision support
 
Beyond Relational Databases
Beyond Relational DatabasesBeyond Relational Databases
Beyond Relational Databases
 
SQL Server Index and Partition Strategy
SQL Server Index and Partition StrategySQL Server Index and Partition Strategy
SQL Server Index and Partition Strategy
 
dotnetMALAGA - Sql query tuning guidelines
dotnetMALAGA - Sql query tuning guidelinesdotnetMALAGA - Sql query tuning guidelines
dotnetMALAGA - Sql query tuning guidelines
 
Myth busters - performance tuning 102 2008
Myth busters - performance tuning 102 2008Myth busters - performance tuning 102 2008
Myth busters - performance tuning 102 2008
 

Más de Guy Harrison

Five database trends - updated April 2015
Five database trends - updated April 2015Five database trends - updated April 2015
Five database trends - updated April 2015Guy Harrison
 
From oracle to hadoop with Sqoop and other tools
From oracle to hadoop with Sqoop and other toolsFrom oracle to hadoop with Sqoop and other tools
From oracle to hadoop with Sqoop and other toolsGuy Harrison
 
Thriving and surviving the Big Data revolution
Thriving and surviving the Big Data revolutionThriving and surviving the Big Data revolution
Thriving and surviving the Big Data revolutionGuy Harrison
 
Mega trends in information management
Mega trends in information managementMega trends in information management
Mega trends in information managementGuy Harrison
 
Big datacamp2013 share
Big datacamp2013 shareBig datacamp2013 share
Big datacamp2013 shareGuy Harrison
 
Hadoop, Oracle and the big data revolution collaborate 2013
Hadoop, Oracle and the big data revolution collaborate 2013Hadoop, Oracle and the big data revolution collaborate 2013
Hadoop, Oracle and the big data revolution collaborate 2013Guy Harrison
 
Hadoop, oracle and the industrial revolution of data
Hadoop, oracle and the industrial revolution of data Hadoop, oracle and the industrial revolution of data
Hadoop, oracle and the industrial revolution of data Guy Harrison
 
Making the most of ssd in oracle11g
Making the most of ssd in oracle11gMaking the most of ssd in oracle11g
Making the most of ssd in oracle11gGuy Harrison
 
Oracle sql high performance tuning
Oracle sql high performance tuningOracle sql high performance tuning
Oracle sql high performance tuningGuy Harrison
 
Hadoop and rdbms with sqoop
Hadoop and rdbms with sqoop Hadoop and rdbms with sqoop
Hadoop and rdbms with sqoop Guy Harrison
 
Optimize oracle on VMware (April 2011)
Optimize oracle on VMware (April 2011)Optimize oracle on VMware (April 2011)
Optimize oracle on VMware (April 2011)Guy Harrison
 
Optimizing Oracle databases with SSD - April 2014
Optimizing Oracle databases with SSD - April 2014Optimizing Oracle databases with SSD - April 2014
Optimizing Oracle databases with SSD - April 2014Guy Harrison
 
Understanding Solid State Disk and the Oracle Database Flash Cache (older ver...
Understanding Solid State Disk and the Oracle Database Flash Cache (older ver...Understanding Solid State Disk and the Oracle Database Flash Cache (older ver...
Understanding Solid State Disk and the Oracle Database Flash Cache (older ver...Guy Harrison
 
High Performance Plsql
High Performance PlsqlHigh Performance Plsql
High Performance PlsqlGuy Harrison
 
Optimize Oracle On VMware (Sep 2011)
Optimize Oracle On VMware (Sep 2011)Optimize Oracle On VMware (Sep 2011)
Optimize Oracle On VMware (Sep 2011)Guy Harrison
 
Thanks for the Memory
Thanks for the MemoryThanks for the Memory
Thanks for the MemoryGuy Harrison
 
Top 10 tips for Oracle performance
Top 10 tips for Oracle performanceTop 10 tips for Oracle performance
Top 10 tips for Oracle performanceGuy Harrison
 
How I learned to stop worrying and love Oracle
How I learned to stop worrying and love OracleHow I learned to stop worrying and love Oracle
How I learned to stop worrying and love OracleGuy Harrison
 
High Performance Plsql
High Performance PlsqlHigh Performance Plsql
High Performance PlsqlGuy Harrison
 
Top 10 tips for Oracle performance (Updated April 2015)
Top 10 tips for Oracle performance (Updated April 2015)Top 10 tips for Oracle performance (Updated April 2015)
Top 10 tips for Oracle performance (Updated April 2015)Guy Harrison
 

Más de Guy Harrison (20)

Five database trends - updated April 2015
Five database trends - updated April 2015Five database trends - updated April 2015
Five database trends - updated April 2015
 
From oracle to hadoop with Sqoop and other tools
From oracle to hadoop with Sqoop and other toolsFrom oracle to hadoop with Sqoop and other tools
From oracle to hadoop with Sqoop and other tools
 
Thriving and surviving the Big Data revolution
Thriving and surviving the Big Data revolutionThriving and surviving the Big Data revolution
Thriving and surviving the Big Data revolution
 
Mega trends in information management
Mega trends in information managementMega trends in information management
Mega trends in information management
 
Big datacamp2013 share
Big datacamp2013 shareBig datacamp2013 share
Big datacamp2013 share
 
Hadoop, Oracle and the big data revolution collaborate 2013
Hadoop, Oracle and the big data revolution collaborate 2013Hadoop, Oracle and the big data revolution collaborate 2013
Hadoop, Oracle and the big data revolution collaborate 2013
 
Hadoop, oracle and the industrial revolution of data
Hadoop, oracle and the industrial revolution of data Hadoop, oracle and the industrial revolution of data
Hadoop, oracle and the industrial revolution of data
 
Making the most of ssd in oracle11g
Making the most of ssd in oracle11gMaking the most of ssd in oracle11g
Making the most of ssd in oracle11g
 
Oracle sql high performance tuning
Oracle sql high performance tuningOracle sql high performance tuning
Oracle sql high performance tuning
 
Hadoop and rdbms with sqoop
Hadoop and rdbms with sqoop Hadoop and rdbms with sqoop
Hadoop and rdbms with sqoop
 
Optimize oracle on VMware (April 2011)
Optimize oracle on VMware (April 2011)Optimize oracle on VMware (April 2011)
Optimize oracle on VMware (April 2011)
 
Optimizing Oracle databases with SSD - April 2014
Optimizing Oracle databases with SSD - April 2014Optimizing Oracle databases with SSD - April 2014
Optimizing Oracle databases with SSD - April 2014
 
Understanding Solid State Disk and the Oracle Database Flash Cache (older ver...
Understanding Solid State Disk and the Oracle Database Flash Cache (older ver...Understanding Solid State Disk and the Oracle Database Flash Cache (older ver...
Understanding Solid State Disk and the Oracle Database Flash Cache (older ver...
 
High Performance Plsql
High Performance PlsqlHigh Performance Plsql
High Performance Plsql
 
Optimize Oracle On VMware (Sep 2011)
Optimize Oracle On VMware (Sep 2011)Optimize Oracle On VMware (Sep 2011)
Optimize Oracle On VMware (Sep 2011)
 
Thanks for the Memory
Thanks for the MemoryThanks for the Memory
Thanks for the Memory
 
Top 10 tips for Oracle performance
Top 10 tips for Oracle performanceTop 10 tips for Oracle performance
Top 10 tips for Oracle performance
 
How I learned to stop worrying and love Oracle
How I learned to stop worrying and love OracleHow I learned to stop worrying and love Oracle
How I learned to stop worrying and love Oracle
 
High Performance Plsql
High Performance PlsqlHigh Performance Plsql
High Performance Plsql
 
Top 10 tips for Oracle performance (Updated April 2015)
Top 10 tips for Oracle performance (Updated April 2015)Top 10 tips for Oracle performance (Updated April 2015)
Top 10 tips for Oracle performance (Updated April 2015)
 

How to optimize database performance through design

Notas del editor

  1. I’m worried about the Toad in the red shirt – we all know that red-shirt crewmen die in Star Trek!
  2. So while I worry about the red-shirt TOAD, I’m not really worried about Oracle. Oracle remains a highly technically innovative company as well as a skilled in the business of software. I’ve certainly got no regrets specializing in Oracle technology all those years ago. Quest is a fairly diversified company and has no vested interest in Oracle per see. We aim to be a strategic partner across all of your technologies: Oracle, Microsoft, Vmware and in emerging technologies.
  3. TelsavsMasseratiLatency vs throughputVolume?Economics?
  4. MethodsRequirementsMeasurementPrototypeBenchmarkData modelOptimize physical model to queryDenormalizeIndexing, clustering, partitionApplicationMinimize database accessOptimize database access
  5. http://www.steveschmidtracing.com/our-team-5.html
  6. Generally not easy to change architectures.....
  7. Normal form is the best starting point for an efficient database design. However, don’t go overboard in eliminating redundancy. A normalized data model is one in which any data redundancy has been eliminatedand in which data and relationships are uniquely identifiable by primaryand foreign keys. Although the normalized data model is rarely the final destinationfrom a performance point of view, the normalized data model is almost alwaysthe best starting point. Indeed, failing to normalize your logical model isfrequently a recipe for a poorly performing physical model.Relational theory provides for various levels of normal form, some of whichare of academic interest only. Third normal form is the most commonly adoptednormalization level, and it has the following characteristics:❏ All data in an entity (table) is dependent on the primary key.❏ There should be no repeating groups of attributes (columns).❏ No data in an entity is dependent on only part of the key.❏ No data in an entity is dependent on any nonkey attribute.These characteristics are often remembered through the adage “the key, thewhole key, and nothing but the key.”
  8. Subtypes categorize or partition a logical entity and help to classify thetypes of information that is within the entity. A subtype usually has a set of attributesthat are held in common with the parent entity (the super-type) andother attributes that are not shared with the super-type or other subtypes. Figure4-1 shows how a PEOPLE entity could be split into subtypes of CUSTOMERSand EMPLOYEES.When translating entity subtypes into tables, we have the following options:❏ Create tables for the super-type and for each subtype. The super-type tablecontains only columns that are common to both subtypes.❏ Create a table for the super-type only. Attributes from all subtypes becomecolumns in this super-table. Typically, columns from subtype attributes willbe nullable, and a category column indicates the subtype in which a row belongs.❏ Create separate tables for each subtype without creating a table for thesuper-type. Attributes from the super-type are duplicated in each table.The three solutions result in very different performance outcomes. In particular,creating tables for the super-type and each subtype is likely to reduce performancein most circumstances, except where only the super-type is subject to afull table scan. Table 4-1 compares the performance of each of the three solutionsfor common database operations.
  9. Remember, you don’t always have control over the network – in particular client side code may sometimes be located anywhere
  10. The further the code is (in network terms) from the database, the more the network effects will magnify. You can’t get any closer to the database than being inde the database as PL/SQL