ER/Studio - Embarcadero Technologies Product Documentation

ER/Studio - Embarcadero Technologies Product Documentation ER/Studio - Embarcadero Technologies Product Documentation

docs.embarcadero.com
from docs.embarcadero.com More from this publisher
24.12.2012 Views

USING ER/STUDIO > DEVELOPING THE PHYSICAL MODEL • Type: Select the partition type. • Range: (PARTITION BY RANGE (column_name)) Select to store distinct ranges of data together, such as dates. Searches can then be limited to partitions with data that is the correct age. Also, once historical data is no longer useful, the whole partition can be removed. • Hash: (PARTITION BY HASH (column_name) PARTITIONS count STORE IN tablespace)) Select if there is no obvious range key or if range partitioning might cause uneven data distribution. If selected, the Partition Count option is available. • Partition Count: Click to launch the Hash Partition Editor where you can specify the number of subpartitions and where to store them. • Available Columns: Displays the columns available to add to a partition. • Selected Columns: Displays the columns that make up the partition key. Guides how data is divided along the partition boundaries. Typically, a partition key is date-based or based on a numerically ordered data grouping. Use the left and right arrows to move columns to and from this grid. • Up/Down buttons: Let you reorder the columns on the partition. The partition order can affect the access speed. The most frequently accessed columns should be at the top of the partition list. • Index Scope: Lets you specify the type of index partition to create. • Local: (LOCAL) All index entries in the partition correspond to a one table partition (equi-partitioned). Supports partition independence, allowing for more efficient queries. • Global: (GLOBAL) The index in the partition can correspond to many table partitions. Does not support partition independence and must be partitioned by range. If specified, you must specify the partition range values. • Add: Click to launch the Index Partition Editor where you can add table partitions. For more information, see Index Partition Editor for Oracle 8.x, 9i, 10g, and 11g Options. • Edit: Click to launch the Index Partition Editor where you can add table partitions. For more information, see Index Partition Editor for Oracle 8.x, 9i, 10g, and 11g Options. Index Partition Editor for Oracle 8.x, 9i, 10g, and 11g Options • Max Value: (VALUES LESS THAN (MAXVALUE)) Select to create a catch-all partition for values that exceed all specified ranges. Otherwise, specify a High Value for the partition range. • High Value: (VALUES LESS THAN (high value)) Specifies the ending value for the partition range. • Pct Free: (PCTFREE) Specifies the maximum percentage of space in each data block to reserve for future updates. This reserved space helps to avoid row migration and chaining caused by an update operation that extends a data row's length. Tables that won’t be updated should have this value set to 0. • Initial: (INITTRANS) Specifies the number of DML transactions for which space is initially reserved in the data block header. Oracle stores control information in the data block to indicate which rows in the block contain committed and uncommitted changes. The amount of history that is retained is controlled by this parameter. If too many transactions concurrently modify the same data block in a very short period, Oracle may not have sufficient history information to determine whether a row has been updated by a “too recent” transaction. Specify a higher value for indexes that may experience many transactions updating the same blocks. • Max Trans: (MAXTRANS) Once the space reserved by INITRANS is depleted, space for additional transaction entries is allocated out of any available free space. Once allocated, this space effectively becomes a permanent part of the block header. This parameter limits the number of transaction entries that can concurrently use data in a data block and therefore limits the amount of free space that can be allocated for transaction entries in a data block. • Initial Extent: (INITEXTENT) Specifies the initial number of data blocks that Oracle should reserve. Oracle will reserve the number of data blocks that correspond to the initial extent for that table’s rows. EMBARCADERO TECHNOLOGIES > ER/STUDIO® 8.0.3 USER GUIDE 164

USING ER/STUDIO > DEVELOPING THE PHYSICAL MODEL • Next Extent: (NEXT) Specifies the size in kilobytes of the next extent. You should monitor this figure against the largest available chunk of free space in the tablespace. If a table cannot allocate its next extent, it will no longer be able to extend and, therefore, cannot accept additional data. • Pct Increase: (PCTINCREASE) Specifies the percentage by which the next extent should grow over the previous extent's size. Be careful when setting Percent Increase because it magnifies how an object grows and, therefore, can materially affect available free space in a tablespace. • Min Extents: (MINEXTENTS) Specifies the number of extents to allocate when the segment is created. Controls free space fragmentation by making sure that every used or free extent is at least as large as the value you specify. • Max Extents: (MAXEXTENTS) Specifies the maximum number of extents that Oracle can allocate to the index. Once this limit is reached, Oracle prevents further growth of the cluster and cannot accept additional data. Carefully monitor the number extents already allocated to the index with this limit. • Free Lists: (FREELISTS) Specifies the number of free lists to apply to the index. The default and minimum value is 1. Free lists can help manage the allocation of data blocks when concurrent processes are issued against the index. Oracle uses the free list to determine which data block to use when an INSERT operation occurs. Oracle allows table and indexes to be defined with multiple free lists. All tables and index free lists should be set to the high-water mark of concurrent INSERT or UPDATE activity. For example, if the index has up to 20 end users performing INSERTs at any time, then the index should have FREELISTS=20.Too low a value for free lists will cause poor Oracle performance. An increase in FREELISTS or FREELIST_GROUPS can alleviate segment header contention. • Free List Groups: (FREELIST GROUPS) Applicable only if you are using Oracle with the Parallel Server option in parallel mode. Specifies the number of free list groups which allow the index to have several segment headers. This enables multiple tasks to insert into the index; thereby alleviating segment header contention. Free list groups should be set to the number of Oracle Parallel Server instances that access the index. For partitioned objects and cases of segment header contention, freelist_groups my be set for non-RAC systems. • Buffer Pool: (BUFFER_POOL) Specifies the memory structure that is used for caching data blocks in memory, providing faster data access. • DEFAULT caches data blocks in the default buffer pool. • KEEP retains the object in memory to avoid I/O conflicts. • RECYCLE removes data blocks from memory as soon as they are no longer in use, thereby saving cache space. Customizing Table DDL The options selected in the Table Editor determine the clauses used in the CREATE TABLE and CREATE INDEX statements. Options on the DDL tab can give you more control over the DDL created. 1 Double-click a table to open the Table Editor. 2 Click the DDL tab and then click Customize. NOTE: If the DDL is not displaying the options you expect to see, it may be because the relevant options on the DDL Tab Options dialog have not been selected. The following describe options that require additional explanation: • Enclose names in quotes/brackets: To avoid object name conflicts, you can enclose in brackets or quotations all names or enclose only names that conflict with SQL keywords. If the database platform supports object names enclosed in brackets or quotes, these options are available in the General Options section of the DDL tab Options and the DDL Generation Wizard. If you select Enclose Names That Conflict with Keywords, then any column names that contain SQL keywords will be automatically enclosed in brackets. EMBARCADERO TECHNOLOGIES > ER/STUDIO® 8.0.3 USER GUIDE 165

USING <strong>ER</strong>/STUDIO > DEVELOPING THE PHYSICAL MODEL<br />

• Type: Select the partition type.<br />

• Range: (PARTITION BY RANGE (column_name)) Select to store distinct ranges of data together, such as<br />

dates. Searches can then be limited to partitions with data that is the correct age. Also, once historical data is<br />

no longer useful, the whole partition can be removed.<br />

• Hash: (PARTITION BY HASH (column_name) PARTITIONS count STORE IN tablespace)) Select<br />

if there is no obvious range key or if range partitioning might cause uneven data distribution. If selected, the<br />

Partition Count option is available.<br />

• Partition Count: Click to launch the Hash Partition Editor where you can specify the number of subpartitions<br />

and where to store them.<br />

• Available Columns: Displays the columns available to add to a partition.<br />

• Selected Columns: Displays the columns that make up the partition key. Guides how data is divided along the<br />

partition boundaries. Typically, a partition key is date-based or based on a numerically ordered data grouping.<br />

Use the left and right arrows to move columns to and from this grid.<br />

• Up/Down buttons: Let you reorder the columns on the partition. The partition order can affect the access speed.<br />

The most frequently accessed columns should be at the top of the partition list.<br />

• Index Scope: Lets you specify the type of index partition to create.<br />

• Local: (LOCAL) All index entries in the partition correspond to a one table partition (equi-partitioned). Supports<br />

partition independence, allowing for more efficient queries.<br />

• Global: (GLOBAL) The index in the partition can correspond to many table partitions. Does not support partition<br />

independence and must be partitioned by range. If specified, you must specify the partition range values.<br />

• Add: Click to launch the Index Partition Editor where you can add table partitions. For more information, see<br />

Index Partition Editor for Oracle 8.x, 9i, 10g, and 11g Options.<br />

• Edit: Click to launch the Index Partition Editor where you can add table partitions. For more information, see<br />

Index Partition Editor for Oracle 8.x, 9i, 10g, and 11g Options.<br />

Index Partition Editor for Oracle 8.x, 9i, 10g, and 11g Options<br />

• Max Value: (VALUES LESS THAN (MAXVALUE)) Select to create a catch-all partition for values that exceed all<br />

specified ranges. Otherwise, specify a High Value for the partition range.<br />

• High Value: (VALUES LESS THAN (high value)) Specifies the ending value for the partition range.<br />

• Pct Free: (PCTFREE) Specifies the maximum percentage of space in each data block to reserve for future<br />

updates. This reserved space helps to avoid row migration and chaining caused by an update operation that<br />

extends a data row's length. Tables that won’t be updated should have this value set to 0.<br />

• Initial: (INITTRANS) Specifies the number of DML transactions for which space is initially reserved in the data<br />

block header. Oracle stores control information in the data block to indicate which rows in the block contain<br />

committed and uncommitted changes. The amount of history that is retained is controlled by this parameter. If too<br />

many transactions concurrently modify the same data block in a very short period, Oracle may not have sufficient<br />

history information to determine whether a row has been updated by a “too recent” transaction. Specify a higher<br />

value for indexes that may experience many transactions updating the same blocks.<br />

• Max Trans: (MAXTRANS) Once the space reserved by INITRANS is depleted, space for additional transaction<br />

entries is allocated out of any available free space. Once allocated, this space effectively becomes a permanent<br />

part of the block header. This parameter limits the number of transaction entries that can concurrently use data in<br />

a data block and therefore limits the amount of free space that can be allocated for transaction entries in a data<br />

block.<br />

• Initial Extent: (INITEXTENT) Specifies the initial number of data blocks that Oracle should reserve. Oracle will<br />

reserve the number of data blocks that correspond to the initial extent for that table’s rows.<br />

EMBARCAD<strong>ER</strong>O TECHNOLOGIES > <strong>ER</strong>/STUDIO® 8.0.3 US<strong>ER</strong> GUIDE 164

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

Saved successfully!

Ooh no, something went wrong!