- Home
- Products
- Integration
- Tutorial
- Barcode FAQ
- Purchase
- Company
native barcode generator for crystal reports crack What Generates the Most and Least Undo in Objective-C
What Generates the Most and Least Undo Data Matrix ECC200 Encoder In Objective-C Using Barcode maker for iPhone Control to generate, create ECC200 image in iPhone applications. www.OnBarcode.comEncoding DataMatrix In Objective-C Using Barcode printer for iPhone Control to generate, create ECC200 image in iPhone applications. www.OnBarcode.comThis is a frequently asked but easily answered question. The presence of indexes (or the fact that a table is an index-organized table) may affect the amount of undo generated dramatically, as indexes are complex data structures and may generate copious amounts of undo information. That said, an INSERT will, in general, generate the least amount of undo, since all Oracle needs to record for this is a rowid to delete. An UPDATE is typically second in the race (in most cases). All that needs to be recorded are the changed bytes. It is most common that you UPDATE some small fraction of the entire row s data. Therefore, a small fraction of the row must be remembered in the undo. Many of the previous examples run counter to this rule of thumb, but that s because they update large, fixedsized rows and they update the entire row. It is much more common to UPDATE a row and change a small percentage of the total row. A DELETE will, in general, generate the most undo. For a DELETE, Oracle must record the entire row s before image into the undo segment. The previous temporary table example, with regard to redo generation, demonstrated that fact: the DELETE generated the most redo, and since the only logged element of the DML operation on a temporary table is the undo, we in fact observed that the DELETE generated the most undo. The INSERT generated very little undo that needed to be logged. The UPDATE generated an amount equal to the before image of the data that was changed, and the DELETE generated the entire set of data written to the undo segment. As previously mentioned, you must also take into consideration the work performed on an index. You ll find that an update of an unindexed column not only executes much faster, it also tends to generate significantly less undo than an update of an indexed column. For example, we ll create a table with two columns, both containing the same information, and index one of them: ops$tkyte%ORA11GR2> create table t 2 as 3 select object_name unindexed, 4 object_name indexed 5 from all_objects Make EAN / UCC - 14 In Objective-C Using Barcode encoder for iPhone Control to generate, create EAN / UCC - 13 image in iPhone applications. www.OnBarcode.comGS1 - 13 Creator In Objective-C Using Barcode encoder for iPhone Control to generate, create EAN 13 image in iPhone applications. www.OnBarcode.comCHAPTER 9 REDO AND UNDO
Barcode Printer In Objective-C Using Barcode printer for iPhone Control to generate, create Barcode image in iPhone applications. www.OnBarcode.comBarcode Drawer In Objective-C Using Barcode generator for iPhone Control to generate, create Barcode image in iPhone applications. www.OnBarcode.com6 / Table created. ops$tkyte%ORA11GR2> create index t_idx on t(indexed); Index created. ops$tkyte%ORA11GR2> exec dbms_stats.gather_table_stats(user,'T'); PL/SQL procedure successfully completed. Now we ll update the table, first updating the unindexed column and then the indexed column. We ll need a new V$ query to measure the amount of undo we ve generated in each case. The following query accomplishes this for us. It works by getting our session ID (SID) from V$MYSTAT, using that to find our record in the V$SESSION view, and retrieving the transaction address (TADDR). It uses the TADDR to pull up our V$TRANSACTION record (if any) and selects the USED_UBLK column the number of used undo blocks. Since we currently are not in a transaction, we expect it to return 0 rows right now: ops$tkyte%ORA11GR2> update t set unindexed = lower(unindexed); 72077 rows updated. ops$tkyte%ORA11GR2> select 2 from v$transaction 3 where addr = (select 4 from 5 where 6 7 8 9 ) 10 / USED_UBLK ---------1214 ops$tkyte%ORA11GR2> commit; Commit complete. That UPDATE used 1,214 blocks to store its undo. The commit would free that up, or release it, so if we rerun the query against V$TRANSACTION, it would once again show us no rows selected. When we update the same data only indexed this time we ll observe the following: ops$tkyte%ORA11GR2> update t set indexed = lower(indexed); 72077 rows updated. ops$tkyte%ORA11GR2> select 2 from v$transaction 3 where addr = (select 4 from 5 where 6 7 8 9 ) used_ublk taddr v$session sid = (select sid from v$mystat where rownum = 1 ) used_ublk taddr v$session sid = (select sid from v$mystat where rownum = 1 ) GTIN - 12 Printer In Objective-C Using Barcode maker for iPhone Control to generate, create UPC A image in iPhone applications. www.OnBarcode.comEAN-8 Creator In Objective-C Using Barcode printer for iPhone Control to generate, create European Article Number 8 image in iPhone applications. www.OnBarcode.comDataMatrix Drawer In Java Using Barcode creator for Java Control to generate, create Data Matrix 2d barcode image in Java applications. www.OnBarcode.comDataMatrix Creator In None Using Barcode generator for Online Control to generate, create ECC200 image in Online applications. www.OnBarcode.comCode 3/9 Encoder In Visual Studio .NET Using Barcode creation for Visual Studio .NET Control to generate, create Code 39 Full ASCII image in VS .NET applications. www.OnBarcode.comBarcode Creation In Java Using Barcode drawer for Java Control to generate, create Barcode image in Java applications. www.OnBarcode.comGenerating QR Code JIS X 0510 In None Using Barcode drawer for Online Control to generate, create Denso QR Bar Code image in Online applications. www.OnBarcode.comCreate PDF-417 2d Barcode In Java Using Barcode drawer for BIRT reports Control to generate, create PDF417 image in BIRT reports applications. www.OnBarcode.comMake QR Code 2d Barcode In .NET Using Barcode printer for ASP.NET Control to generate, create QR image in ASP.NET applications. www.OnBarcode.comGS1 - 12 Creation In Java Using Barcode generation for Java Control to generate, create UCC - 12 image in Java applications. www.OnBarcode.comPaint PDF-417 2d Barcode In None Using Barcode maker for Software Control to generate, create PDF 417 image in Software applications. www.OnBarcode.comPaint Barcode In Visual Basic .NET Using Barcode creation for Visual Studio .NET Control to generate, create Barcode image in .NET framework applications. www.OnBarcode.comRead Barcode In VB.NET Using Barcode decoder for VS .NET Control to read, scan read, scan image in VS .NET applications. www.OnBarcode.comPainting PDF417 In VB.NET Using Barcode printer for .NET framework Control to generate, create PDF417 image in VS .NET applications. www.OnBarcode.com |
|