Presentation is loading. Please wait.

Presentation is loading. Please wait.

DATABASE PERFORMANCE COOKBOOK.  Great news!  You’ve completed CSCI 6442 (congratulations!)  You have an MS from GWU (congratulations again!)  You’re.

Similar presentations


Presentation on theme: "DATABASE PERFORMANCE COOKBOOK.  Great news!  You’ve completed CSCI 6442 (congratulations!)  You have an MS from GWU (congratulations again!)  You’re."— Presentation transcript:

1 DATABASE PERFORMANCE COOKBOOK

2  Great news!  You’ve completed CSCI 6442 (congratulations!)  You have an MS from GWU (congratulations again!)  You’re working on a project using a DBMS (congrats)  And they think of you as a database guru (whoops!)  And now—a programmer says “I’m having performance problems.”  The boss, of course, tells her to come see you!  How to proceed?  Is it time to buy one of those huge books on performance tuning? SCENARIO

3  First, look at the basics. Don’t buy the book yet.  How loaded is the server?  Which DBMS is being used?  How does the application use SQL?  Identify the queries that are slow  Review the use of SQL—can SQL do more?  Look at the plan for each one  First—check for existence of indexes and their use in the plan  Then—general review of the query and the plan  Recommend changes to indexes and query as appropriate  Get performance test results right away WHERE TO LOOK

4  The problem may be at the server  Find that out first  Server may be overloaded  Server may not be administered effectively  Server may not have enough capacity  Sometimes test server does not have production capacity  Often, adding server capacity is the cheapest way to improve performance  A server upgrade may cost a few thousand dollars  Cost of a programmer to the company is over $1,000 per day  You won’t make many software changes in ten person-days of work but for $10,000 you can buy quite a server SERVER LOAD

5  There are huge differences in efficiency between database systems  If either the IBM, Sybase, Oracle or Microsoft family is being used, you can work with it  If MySQL is used, check that NODB is being used. Even then, you have limited options for optimization  If you’re going to need serious optimization, get away from MySQL  With MySQL you can get stuck with poor optimization options  You’ll also gain many other useful features with a fully-featured DBMS DBMS CHOICE

6  Do applications make full use of SQL?  Applications may use SQL for put and get, do all data manipulation in the application  They may issue many SQL statements to get a result that you can obtain with a single statement  Often programmers will just copy another programmer’s SQL to get access to the database, won’t understand a thing  Make sure that the ability of SQL to do powerful, sophisticated selections, and use that power for updates and deletes, is being used  Huge performance gains are available from fixing these problems  These are very easy wins APPLICATION USE OF SQL

7  Usually some SQL statements stand out as performance problems  If they’re all slow, the problem may be in the database server or the application server  If all SQL statements are slow, go back two charts and repeat IDENTIFY PROBLEM QUERIES

8  Start again with the basics  Review the use of SQL in each problem query  Can more function be added to the database and removed from the application? This can improve performance  Look at indexes  Look at indexes and their use in the plan  Test with additional indexes as indicated  Adding indexes is often all that’s necessary to improve performance  Now you need to buy a big book  Buy one of those huge books about performance tuning for your DBMS  Your DBMS may process the statement differently depending on how written  Test alternative formulations of the statement for performance  Follow the book for additional help  Recommend changes in SQL statement, indexes WHERE TO LOOK

9  Carry out and document results of performance tests on your improvements right away  Create and write down a quantitative record of what you accomplished WHERE TO LOOK

10  Share the results of the performance improvement, with due modesty  Use them constructively, such as to create a write-up on DBMS performance for your project  You are a hero, take the credit—but do it in a gracious way TAKE THE CREDIT


Download ppt "DATABASE PERFORMANCE COOKBOOK.  Great news!  You’ve completed CSCI 6442 (congratulations!)  You have an MS from GWU (congratulations again!)  You’re."

Similar presentations


Ads by Google