For Dummies SQL All-in-One 978-0-470-92996-4 사용자 설명서
제품 코드
978-0-470-92996-4
580
Analyzing the Workload
Optimal design of a database depends largely on how the database will be
used. What kinds of queries will it be subjected to? How often will updates
be made, compared with how often queries are posed? These kinds of ques-
tions try to get at what the workload will be. The answers to such questions
have great bearing on how the database should be structured. In effect, the
design of the database is tuned based on how it will typically be used.
used. What kinds of queries will it be subjected to? How often will updates
be made, compared with how often queries are posed? These kinds of ques-
tions try to get at what the workload will be. The answers to such questions
have great bearing on how the database should be structured. In effect, the
design of the database is tuned based on how it will typically be used.
To give you a sound foundation for designing your database to best handle
the workload to which it will be subjected, draft a workload description. The
workload description should include the following elements:
the workload to which it will be subjected, draft a workload description. The
workload description should include the following elements:
✦
A list of all the queries you expect to be run against the database, along
with an estimate of the expected frequency of each query compared
with the frequencies of all the other queries and update operations
with an estimate of the expected frequency of each query compared
with the frequencies of all the other queries and update operations
✦
A list of all the update operations you expect to perform, along with an
estimate of the expected frequency of each operation compared with
the frequencies of all the other updates and queries
estimate of the expected frequency of each operation compared with
the frequencies of all the other updates and queries
✦
Your goal for the performance of each type of query and update
Queries can vary tremendously in complexity, so it’s important to determine
in advance how complex each query is and how that complexity will affect
the overall workload. You can determine query complexity by answering a
few questions:
in advance how complex each query is and how that complexity will affect
the overall workload. You can determine query complexity by answering a
few questions:
✦
How many relations (tables) are accessed by this query?
✦
Which attributes (columns) are selected?
✦
Which attributes appear in the WHERE clause, and how selective are the
WHERE
WHERE
clause conditions likely to be?
Just as queries can vary a great deal, so can update operations. Questions
regarding updates should include the following:
regarding updates should include the following:
✦
Which attributes appear in the WHERE clause, and how selective are the
WHERE
WHERE
clause conditions likely to be?
✦
What type of update is it: INSERT, DELETE, or UPDATE?
✦
In UPDATE statements, which fields will be modified?
Considering the Physical Design
Among the factors that have a major impact on performance, few, if any,
have a greater effect than indexes. On the plus side, indexes point directly
to the desired record in a table, thereby bypassing the need to scan down
have a greater effect than indexes. On the plus side, indexes point directly
to the desired record in a table, thereby bypassing the need to scan down
Analyzing the Workload
40_9780470929964-bk07ch01.indd 580
40_9780470929964-bk07ch01.indd 580
2/24/11 3:45 PM
2/24/11 3:45 PM