Any general tips on getting better performance out of multi table insert?
I have been struggling with coding a multi table insert which is the first time I ever use one and my Oracle skills are pretty poor in general so now that the query is built and works fine I am sad to see its quite slow.
I have checked numerous articles on optimizing but the things I try dont seem to get me much better performance.
First let me describe my scenario to see if you agree that my performance is slow...
its an insert all command, which ends up inserting into 5 separate tables, conditionally (at least 4 inserts, sometimes 5 but the fifth is the smallest table). Some stats on these tables as follows:
Source table: 5.3M rows, ~150 columns wide. Parallel degree 4. everything else default.
Target table 1: 0 rows, 27 columns wide. Parallel 4. everything else default.
Target table 2: 0 rows, 63 columns wide. Parallel 4. default.
Target table 3: 0 rows, 33 columns wide. Parallel 4. default.
Target table 4: 0 rows, 9 columns wide. Parallel 4. default.
Target table 5: 0 rows, 13 columns wide. Parallel 4. default.
The parallelism is just about the only customization I myself have done. Why 4? I dont know it's pretty arbitrary to be honest.
Indexes?
Table 1 has 3 index + PK.
Table 2 has 0 index + FK + PK.
Table 3 has 4 index + FK + PK
Table 4 has 3 index + FK + PK
Table 5 has 4 index + FK + PK
None of the indexes are anything crazy, maybe 3 or 4 of all of them are on multiple columns, 2-3 max. The rest are on single columns.
The query itself looks something like this:
insert /*+ append */ all
when 1=1 then
into table1 (...) values (...)
into table2 (...) values (...)
when a=b then
into table3 (...) values (...)
when a=c then
into table3 (...) values (...)
when p=q then
into table4(...) values (...)
when x=y then
into table5(...) values (...)
select .... from source_table
Hints I tried are with append, without append, and parallel (though adding parallel seemed to make the query behave in serial, according to my session browser).
Now for the performance:
It does about 8,000 rows per minute on table1. So that means it should also have that much in table2, table3 and table4, and then a subset of that in table5.
Does that seem normal or am I expecting too much?
I find articles talking about millions of rows per minute... Obviously i dont think I can achieve that much... but maybe 30k or so on each table is a reasonable goal?
If it seems my performance is slow, what else do you think I should try? Is there any information I may try to get to see if maybe its a poorly configured database for this?
P.S. Is it possible I can run this so that it commits every x rows or something? I had the heartbreaking event of a network issue giving me this sudden "ora-25402: transaction must roll back" after it was running for 3.5 hours. So I lost all the progress it made... have to start over. plus i wonder if the sheer amount of data being queued for commit/rollback is causing some of the problem?
Edited by: trant on Jun 27, 2011 9:29 PM
Looks like there are about 54 sessions on my database, 7 of the sessions belong to me (2 taken by TOAD and 4 by my parallel slave sessions and 1 by the master of those 4)
In v$session_event there are 546 rows, if i filter it to the SIDs of my current session and order my micro_wait_time desc:
510 events in waitclass Other 30670 9161 329759 10.75 196 3297590639 1736664284 1893977003 0 Other
512 events in waitclass Other 32428 10920 329728 10.17 196 3297276553 1736664284 1893977003 0 Other
243 events in waitclass Other 21513 5 329594 15.32 196 3295935977 1736664284 1893977003 0 Other
223 events in waitclass Other 21570 52 329590 15.28 196 3295898897 1736664284 1893977003 0 Other
241 row cache lock 1273669 0 42137 0.03 267 421374408 1714089451 3875070507 4 Concurrency
241 events in waitclass Other 614793 0 34266 0.06 12 342660764 1736664284 1893977003 0 Other
241 db file sequential read 13323 0 3948 0.3 13 39475015 2652584166 1740759767 8 User I/O
241 SQL*Net message from client 7 0 1608 229.65 1566 16075283 1421975091 2723168908 6 Idle
241 log file switch completion 83 0 459 5.54 73 4594763 3834950329 3290255840 2 Configuration
241 gc current grant 2-way 5023 0 159 0.03 0 1591377 2685450749 3871361733 11 Cluster
241 os thread startup 4 0 55 13.82 26 552895 86156091 3875070507 4 Concurrency
241 enq: HW - contention 574 0 38 0.07 0 378395 1645217925 3290255840 2 Configuration
512 PX Deq: Execution Msg 3 0 28 9.45 28 283374 98582416 2723168908 6 Idle
243 PX Deq: Execution Msg 3 0 27 9.1 27 272983 98582416 2723168908 6 Idle
223 PX Deq: Execution Msg 3 0 25 8.26 24 247673 98582416 2723168908 6 Idle
510 PX Deq: Execution Msg 3 0 24 7.86 23 235777 98582416 2723168908 6 Idle
243 PX Deq Credit: need buffer 1 0 17 17.2 17 171964 2267953574 2723168908 6 Idle
223 PX Deq Credit: need buffer 1 0 16 15.92 16 159230 2267953574 2723168908 6 Idle
512 PX Deq Credit: need buffer 1 0 16 15.84 16 158420 2267953574 2723168908 6 Idle
510 direct path read 360 0 15 0.04 4 153411 3926164927 1740759767 8 User I/O
243 direct path read 352 0 13 0.04 6 134188 3926164927 1740759767 8 User I/O
223 direct path read 359 0 13 0.04 5 129859 3926164927 1740759767 8 User I/O
241 PX Deq: Execute Reply 6 0 13 2.12 10 127246 2599037852 2723168908 6 Idle
510 PX Deq Credit: need buffer 1 0 12 12.28 12 122777 2267953574 2723168908 6 Idle
512 direct path read 351 0 12 0.03 5 121579 3926164927 1740759767 8 User I/O
241 PX Deq: Parse Reply 7 0 9 1.28 6 89348 4255662421 2723168908 6 Idle
241 SQL*Net break/reset to client 2 0 6 2.91 6 58253 1963888671 4217450380 1 Application
241 log file sync 1 0 5 5.14 5 51417 1328744198 3386400367 5 Commit
510 cursor: pin S wait on X 3 2 2 0.83 1 24922 1729366244 3875070507 4 Concurrency
512 cursor: pin S wait on X 2 2 2 1.07 1 21407 1729366244 3875070507 4 Concurrency
243 cursor: pin S wait on X 2 2 2 1.06 1 21251 1729366244 3875070507 4 Concurrency
241 library cache lock 29 0 1 0.05 0 13228 916468430 3875070507 4 Concurrency
241 PX Deq: Join ACK 4 0 0 0.07 0 2789 4205438796 2723168908 6 Idle
241 SQL*Net more data from client 6 0 0 0.04 0 2474 3530226808 2000153315 7 Network
241 gc current block 2-way 5 0 0 0.04 0 2090 111015833 3871361733 11 Cluster
241 enq: KO - fast object checkpoint 4 0 0 0.04 0 1735 4205197519 4217450380 1 Application
241 gc current grant busy 4 0 0 0.03 0 1337 2277737081 3871361733 11 Cluster
241 gc cr block 2-way 1 0 0 0.06 0 586 737661873 3871361733 11 Cluster
223 db file sequential read 1 0 0 0.05 0 461 2652584166 1740759767 8 User I/O
223 gc current block 2-way 1 0 0 0.05 0 452 111015833 3871361733 11 Cluster
241 latch: row cache objects 2 0 0 0.02 0 434 1117386924 3875070507 4 Concurrency
241 enq: TM - contention 1 0 0 0.04 0 379 668627480 4217450380 1 Application
512 PX Deq: Msg Fragment 4 0 0 0.01 0 269 77145095 2723168908 6 Idle
241 latch: library cache 3 0 0 0.01 0 243 589947255 3875070507 4 Concurrency
510 PX Deq: Msg Fragment 3 0 0 0.01 0 215 77145095 2723168908 6 Idle
223 PX Deq: Msg Fragment 4 0 0 0 0 145 77145095 2723168908 6 Idle
241 buffer busy waits 1 0 0 0.01 0 142 2161531084 3875070507 4 Concurrency
243 PX Deq: Msg Fragment 2 0 0 0 0 84 77145095 2723168908 6 Idle
241 latch: cache buffers chains 4 0 0 0 0 73 2779959231 3875070507 4 Concurrency
241 SQL*Net message to client 7 0 0 0 0 51 2067390145 2000153315 7 Network
(yikes, is there a way to wrap that in equivalent of other forums' tag?)
v$session_wait;
223 835 PX Deq Credit: send blkd sleeptime/senderid 268697599 000000001003FFFF passes 1 0000000000000001 qref 0 00 1893977003 0 Other 0 10 WAITING
241 22819 row cache lock cache id 13 000000000000000D mode 0 00 request 5 0000000000000005 3875070507 4 Concurrency -1 0 WAITED SHORT TIME
243 747 PX Deq Credit: send blkd sleeptime/senderid 268697599 000000001003FFFF passes 1 0000000000000001 qref 0 00 1893977003 0 Other 0 7 WAITING
510 10729 PX Deq Credit: send blkd sleeptime/senderid 268697599 000000001003FFFF passes 1 0000000000000001 qref 0 00 1893977003 0 Other 0 2 WAITING
512 12718 PX Deq Credit: send blkd sleeptime/senderid 268697599 000000001003FFFF passes 1 0000000000000001 qref 0 00 1893977003 0 Other 0 4 WAITING
v$sess_io:
223 0 5779 5741 0 0
241 38773810 2544298 15107 27274891 0
243 0 5702 5688 0 0
510 0 5729 5724 0 0
512 0 5682 5678 0 0
Similar Messages
-
How to get better performance out of iMovie?
I have a 13" MBP (2010) with 2.4GHz. I bought the machine to edit video on the road and it did great when I first bought it running Snow Leopard. After upgrading to Lion, I noticed it started to play back some choppy video clips while inside iMovie. The rendered clips play fine, so I wasn't too concerned. A bit of a hassle. Then I figured I would upgrade some RAM and am now running 8GB. I don't think the graphics card is limiting, because it used to run the clips fine. The video just doesn't run smooth and I am wondering how to fix. I played some clips while in iMovie and the app starts consuming 150% of the CPU resources from 2% when no video is playing. Is this what others get?
Thanks in advance!I found a good article on this topic here: http://helgeklein.com/blog/2014/06/customizing-installing-lenovo-w540/
Published on June 17, 2014.
"With Windows 8 the product key is not printed on a sticker on the device’s underside but stored in the BIOS instead. According to the rare information to be found on this topic a plain vanilla version of Windows may or may not accept that key. In some cases additional certificates have been added to the vendor images without which the BIOS key cannot be used. Long story short: I had to try it out and had to be prepared to supply my own product key."
He doesn't comment on if he was actually successful retreiving the Key from BIOS. Does the last sentence imply that he actually had to get another product key?
BTW: just worked with the TrackPad and yes it's very noisy and clunky to click. Luckily I always use a mouse with my laptop. -
Which one will get better performance when traversing an ArrayList, iterat
hi, everyone,
Which one will get better performance when traversing an ArrayList, iterators, or index(get(i))?
Any reply would be valuable.
Thank you in advance.Use the iterator, or a foreach loop, which is just syntactic sugar over an iterator. The cases where there is a noticeable difference will be extremely rare. You would only use get() if you actually measured a bottleneck, changed it, re-tested, and found significant improvement. An iterator will give O(n) time for iterating over any collection. Using get() only works on Lists, and for a LinkedList, gives O(n^2).
-
How to setup airport time capsule to get better performance?
I need to set up my wireless system with my new Airport time capsule 3T as primary base station to get better performance, and If I have a cable modem as primary device to get the signal (5MB) from the ISP then my network has one, Macbook pro, Macbook air, mac mini, 2 ipad's, 2 iphones, but neither of them is connected all time.
What is the best way to do that?
What wifi channel need choose to?What is the best way to do that?
Use ethernet.. performance of wireless is never as good as ethernet.
What wifi channel need choose to?
There is no such thing as the best channel..
Leave everything auto.. and see if it gives you full download speed.
Use 5ghz.. and keep everything up close to the TC for the best wireless speed.
If you are far away it will drop back to 2.4ghz which is slower.
Once you reach the internet speed nothing is going to help it go faster so you are worrying about nothing. -
How to get better perform here
hi there,
bellow code is using with in the loop. how can i modify to get better performance.
SELECT knumv kposn kwert FROM konv
INTO CORRESPONDING FIELDS OF lt_konv
WHERE knumv EQ lt_output-knumv
AND kposn EQ lt_output-posnr
AND kschl EQ 'VPRS'.
COLLECT lt_konv.
ENDSELECT.
thx in adv.the better solution for the select statement whould be to use the aggreagte function sum for the field kwert:
SELECT knumv kposn sum(kwert)
FROM konv
INTO CORRESPONDING FIELDS OF table lt_konv
WHERE knumv EQ lt_output-knumv
AND kposn EQ lt_output-posnr
AND kschl EQ 'VPRS'.
The select is inside the loop an lt_output.
Aggregate functions and FOR ALL ENTRIES can not be combined, the
FOR ALL ENTRIES is a select distinct !!!
So you must leave the loop around the select and you can't use the FOR ALL ENTRIES, but this is o.k.,
Siegfried -
Not getting enough performance out of Msi GT60 0NC
Hello there guys! Since I've got my laptop I have been getting the feeling that I am not getting enough power out of my toy. I dont know if its me who have too big expectations about this laptop or it really should be performing better?:( I have done hours of research regarding drivers, graphic setup and not at least overclocking which seems to raise the performance quite a bit but it easily gets unstable. I am using Msi's preinstalled drivers as it seems like they give the best performance so far. I have also installed the modded Firmware from https://forum-en.msi.com/index.php?topic=162629.0 which works better than the original one from Msi. But still, i hear a lot of people playing demanding games on ultra with fps around 50-60. In bf3 I get around 40-60 on High with shadow on medium and post processing off, anti-aliasing off. Turbo is on + overclock. The performance in Gw2 is even worse.
So here is my question: am I expecting too much from the laptop or can I do something to improve it and make it run like a charm? Another question would be if it is possible to change powervoltage to get a higher overclock?
I would very much like to hear from u guys how your msi gt60 is performing:)
Best regards, Mathias KanstrupQuote from: zipper.sippola on 18-September-13, 17:57:49
Same here, Gt70 0NE + 680M; overclocking GPU core causes clockdowns so gains are minimal. Overclocking memory is successful upto about 2500MHz but gains are small as the memory isn't the restricting factor in preformance - or the effect is just minuscule. So mostly 2 to 8 % in benchmarks, max.
With extreme air cooling and a modified VBios, it's possible to get up to around 15%......I know this first hand.
I just don't care to do it since there's little point in pushing the hardware that hard regularly. Yes, it's great for bragging rights, but it's not useful for long term use unfortunately.
Overclocking the memory in the GTX675M might help a bit more than in the 680M. I'm not sure, I haven't really followed up on the other cards. -
How can i get better performance of query
Hi,
i have created one view which using 11 table. some table is used more than 1 time. i have used outjoin for that but it is very slow to get output.
my view is as below.
CREATE OR REPLACE FORCE VIEW MUDRA.RETRIEVAL_PURCHASE
(UNIQUEID, BRANCHNAME, DOCNUMBER, DOCUMENTTYPE, ACCOUNTINGYEAR,
INWARDDATE, PAYTOSUPPLIERID, JOBTYPEID, JOBGROUPDESCRIPTION, PVNUMBER,
PVDATE, DOCDATE, DUEDATE, SUPPLIERID, SUPPLIERNAME,
ITEMAMOUNTGLCODE, ITEMAMOUNTGLNAME, GLCODE, GLNAME, CONTROLGLCODE,
INVOICENUMBER, INVOICEDATE, DOCAMOUNT, PAIDAMOUNT, INVOICEBASEAMOUNT,
INVOICESURCHARGEAMOUNT, INVOICEGROSSAMOUNT, INVOICECOMMISSION, INVOICENETAMOUNT, INVOICEDISCOUNTAMOUNT,
INVOICEBOXCHARGES, GROSSAMOUNT, COMMISSION, COMMISSIONGLCODE, COMMISSIONGLNAME,
PASSEDINVOICENETAMOUNT, PASSEDINVOICESALESTAXAMOUNT, RECOVERYTAXAMOUNT, TAXRECOVERYGLCODE, TAXRECOVERYGLNAME,
RECOVERYTAXABLEAMOUNT, TAXRECOVERYPERCENTAGE, PASSEDINVOICEDISCOUNTAMOUNT, DISCOUNTGLCODE, DISCOUNTGLNAME,
TDSAMOUNT, TDSGLCODE, TDSGLNAME, TAXABLEAMOUNT, TDSPERCENTAGE,
TDSSECTION, TAXAMOUNT, SALESTAXAMOUNT, INVOICENETPAYABLE, PASSEDINVOICEBASEAMOUNT,
PASSEDINVOICESURCHARGEAMOUNT, PASSEDINVOICETAXAMOUNT, PASSEDINVOICERECOVERYTAXAMOUNT, PASSEDINVOICEGROSSAMOUNT, PASSEDINVOICECOMMISSION,
PASSEDINVOICEBOXCHARGES, PASSEDINVOICENETPAYABLE, ALLOCATEDAMOUNT, ALLOCATEDTAXAMOUNT, ALLOCATEDTAXRECOVERYAMOUNT,
COMPANYID, DIVISIONID, SUBDIVISIONID, LOCATIONID, PAIDTAX,
OSAMT, CANCELLED, BOXCHARGEGLCODE, BOXCHARGEGLNAME, REMARKS,
YEARENDBALANCE, RECONCILEFLAG, BATCHNUMBER, PAYCATEGORY, CREDITAMOUNT,
CREDITNOTEAMOUNT, TOKENAMOUNT, PV_NO, PV_ACC_YR, SUPPLIERDISCOUNTAMOUNT,
SUPPLIERDISCOUNTPERCENTAGE, SUPPLIERDISCOUNTGLCODE, SUPPLIERDISCOUNTGLNAME, CLIENTID, CLIENTNAME,
BILLNUMBER, ALLOCATEDTOTALAMOUNT)
AS
SELECT DISTINCT a.UNIQUEID,bm.displayname BRANCHNAME, a.DOCNUMBER,a.DOCUMENTTYPE, a.ACCOUNTINGYEAR,a.INWARDDATE,a.PAYTOSUPPLIERID,
a.JOBTYPEID, jm.JOBGROUPDESCRIPTION, a.PVNUMBER, a.PVDATE, a.DOCDATE, a.DUEDATE,
a.SUPPLIERID, b.suppliername,a.ITEMAMOUNTGLCODE GLCODE, c.glname,
A.GLCODE,C1.GLNAME,
a.GLCODE CONTROLGLCODE,a.INVOICENUMBER, a.INVOICEDATE,
a.INVOICEBASEAMOUNT, a.INVOICESURCHARGEAMOUNT, a.INVOICEGROSSAMOUNT, a.INVOICECOMMISSION, a.INVOICENETAMOUNT, a.INVOICEDISCOUNTAMOUNT, a.INVOICEBOXCHARGES,
a.PASSEDINVOICENETPAYABLE + a.PASSEDINVOICETAXAMOUNT DOCAMOUNT,
a.ALLOCATEDAMOUNT PAIDAMOUNT, NVL(a.PASSEDINVOICEGROSSAMOUNT,0)+NVL(a.PASSEDINVOICESALESTAXAMOUNT,0)+
NVL(a.PASSEDINVOICEBOXCHARGES,0) -NVL(a.PASSEDINVOICEDISCOUNTAMOUNT,0) GROSSAMOUNT,a.PASSEDINVOICECOMMISSION COMMISSION,
a.COMMISSIONGLCODE,C2.GLNAME,
a.PASSEDINVOICENETAMOUNT ,a.PASSEDINVOICESALESTAXAMOUNT,
a.PASSEDINVOICERECOVERYTAXAMOUNT RECOVERYTAXAMOUNT,a.TAXRECOVERYGLCODE,C3.GLNAME,
a.RECOVERYTAXABLEAMOUNT,a.TAXRECOVERYPERCENTAGE ,
a.PASSEDINVOICEDISCOUNTAMOUNT ,a.DISCOUNTGLCODE, C4.GLNAME,
a.PASSEDINVOICETAXAMOUNT TDSAMOUNT,a.TDSGLCODE,C5.GLNAME,
a.TAXABLEAMOUNT,a.TDSPERCENTAGE, a.TDSSECTION,
a.TAXAMOUNT, a.SALESTAXAMOUNT, a.INVOICENETPAYABLE, a.PASSEDINVOICEBASEAMOUNT, a.PASSEDINVOICESURCHARGEAMOUNT, a.PASSEDINVOICETAXAMOUNT,
a.PASSEDINVOICERECOVERYTAXAMOUNT, a.PASSEDINVOICEGROSSAMOUNT, a.PASSEDINVOICECOMMISSION, a.PASSEDINVOICEBOXCHARGES, a.ALLOCATEDAMOUNT,
a.ALLOCATEDTAXAMOUNT, a.ALLOCATEDTAXRECOVERYAMOUNT, a.COMPANYID, a.DIVISIONID, a.SUBDIVISIONID, a.LOCATIONID,
a.PASSEDINVOICENETPAYABLE,
a.ALLOCATEDTAXRECOVERYAMOUNT PAIDTAX, A.PASSEDINVOICENETPAYABLE-A.ALLOCATEDAMOUNT OSAMT,
NVL(a.CANCELLED,'N'), a.REMARKS,
a.YEARENDBALANCE, a.RECONCILEFLAG, a.BOXCHARGEGLCODE , C6.GLNAME,
a.BATCHNUMBER, a.PAYCATEGORY, a.CREDITAMOUNT,
a.CREDITNOTEAMOUNT, a.TOKENAMOUNT, a.PV_NO, a.PV_ACC_YR, a.SUPPLIERDISCOUNTAMOUNT, a.SUPPLIERDISCOUNTPERCENTAGE,
a.SUPPLIERDISCOUNTGLCODE ,C7.GLNAME , 0,
NULL ,
NULL ,
NULL
FROM supplierinvoiceheader a , suppliermaster b, glmaster c , jobtypemaster jm , branchmaster bm,
GLMASTER C1 ,GLMASTER C2 ,GLMASTER C3,
GLMASTER C4 ,GLMASTER C5,GLMASTER C6 ,GLMASTER C7
WHERE a.uniqueid=b.uniqueid AND a.supplierid=b.supplierid AND a.itemamountglcode = c.glcode (+)
AND A.COMMISSIONGLCODE=C2.GLCODE (+) AND A.TAXRECOVERYGLCODE=C3.GLCODE(+)
AND A.DISCOUNTGLCODE=C4.GLCODE(+) AND A.TDSGLCODE=C5.GLCODE(+) AND
A.BOXCHARGEGLCODE=C6.GLCODE(+) AND A.SUPPLIERDISCOUNTGLCODE=C7.GLCODE(+)
AND A.GLCODE=C1.GLCODE (+)
AND a.jobtypeid=jm.jobtypeid AND a.uniqueid=bm.uniqueid;
here i have used GLMASTER 7 times because i want all glcodes descrition in single query. this view i used in java to retrive information.
so is there any other way to get fast output ?
i m waiting for your early reply.
ThanxHi Aron,
Here i send you details of tables.
While running this views to get all rows, it takes 1.50 mintus.
Total 28047 rows are fetched.
EXPLAN IS AS BELOW,
Operation Object Name Rows Bytes Cost Object Node In/Out PStart PStop
SELECT STATEMENT Optimizer Mode=CHOOSE 410 5368
VIEW RETRIEVAL_PURCHASE 410 578 K 5368
SORT UNIQUE 410 194 K 5368
HASH JOIN 410 194 K 5316
HASH JOIN OUTER 236 104 K 5062
HASH JOIN OUTER 236 98 K 4994
HASH JOIN OUTER 236 93 K 4930
HASH JOIN OUTER 247 91 K 4866
HASH JOIN OUTER 259 89 K 4802
HASH JOIN OUTER 291 93 K 4734
HASH JOIN OUTER 22 K 6 M 3136
HASH JOIN OUTER 22 K 6 M 1654
HASH JOIN 22 K 5 M 306
TABLE ACCESS FULL BRANCHMASTER 175 2 K 1
HASH JOIN 22 K 5 M 225
TABLE ACCESS FULL JOBTYPEMASTER 132 2 K 1
TABLE ACCESS FULL SUPPLIERINVOICEHEADER 22 K 4 M 149
TABLE ACCESS FULL GLMASTER 6 K 162 K 14
TABLE ACCESS FULL GLMASTER 6 K 162 K 14
TABLE ACCESS FULL GLMASTER 6 K 162 K 14
TABLE ACCESS FULL GLMASTER 6 K 162 K 14
TABLE ACCESS FULL GLMASTER 6 K 162 K 14
TABLE ACCESS FULL GLMASTER 6 K 162 K 14
TABLE ACCESS FULL GLMASTER 6 K 162 K 14
TABLE ACCESS FULL GLMASTER 6 K 162 K 14
TABLE ACCESS FULL SUPPLIERMASTER 16 K 531 K 102
supplierinvoiceheader 28727 rows
suppliermaster 16538 rows
glmaster 23500 rows
jobtypemaster 175 rows
branchmaster 163 rows.
Glmaster table is used 7 times bcoz there are 7 differect type of GLCODES in supplierinvoiceheader table. and i want all 7 glcodes and its name in single query, because this view i used in JSP code.
the pk are as below of each table.
supplierinvoiceheader
UNIQUEID , DOCNUMBER
suppliermaster
UNIQUEID , SUPPLIERID
glmaster
GLCODE
jobtypemaster
JOBTYPEID
branchmaster
UNIQUEID
if you need another information then pl. let me know.
bye. -
Tip: Improving The Performance Of OLAP DML Table Inserts
Quick Oracle OLAP Tip:
If you need to write the contents of a variable, or a group of variables, to a relational table, you would normally use the SQL INSERT command. Normal practice is to loop round all of the variables' dimension values, inserting the variable values into the relational tables one by one, until the variable has been completely loaded into your database table.
Oracle 9i OLAP however introduces two new commands, SQL PREPARE and SQL EXECUTE (http://download-west.oracle.com/docs/cd/B10501_01/olap.920/a95298/sql5.htm#1027902) , that allow us to prepare our INSERT statement in such a way that it uses bind variables to pass values to the Oracle tables. Bind variables are generally a 'good thing' and reduce the amount of time Oracle has to spend parsing your SQL insert statements. In addition, you can specify additional options with SQL PREPARE to specify 'direct path' insertions (quicker as they bypass the normal SQL engine and directly load data into Oracle blocks), nologging (to eliminate redo log generation), and to nominate individual partitions to load data in to. It's worth noting that there's an error in the current OLAP DML documentation that suggest that any OLAP DML insert operation into an Oracle table locks the entire table, preventing other AW processes from inserting into the table until you commit. This is actually incorrect, and full-table locking only occurs if you use the DIRECT=YES option, which locks the table in the same way that SQL*Loader locks the table as they both use the Direct Path API.
However, an even better solution than using SQL EXECUTE and SQL PREPARE is to use the OLAP_TABLE feature in Oracle 9i (http://download-west.oracle.com/docs/cd/B10501_01/olap.920/a95295/olap_tab.htm#73729) to create a view against your AW variable, then use this view as the source for a "INSERT INTO table SELECT * FROM source" SQL statement, optionally using the /*+ INSERT APPEND */ option if you want to carry out direct path insertions. By using OLAP TABLE and having the SQL engine insert multiple variable values into our target table, rather than having an OLAP DML program loop through the variable and carry out multiple single-row insertions, we were able to increase our write performance by an order of magnitude compared to our earlier SQL INSERT command. One thing to bear in mind though is that, if you are running many copies of the program concurrently, using direct path insertions may well cause lock contention, as each process will obtain an exclusive table lock while the direct insertion takes place. In the case of concurrent processes, it may be better to use conventional path insertions (but still use SQL PREPARE and EXECUTE, or OLAP TABLE) as these only require row-level exclusive locks.you can use Execution plain
http://stackoverflow.com/questions/7359702/how-do-i-obtain-a-query-execution-plan
and add index.
Index according to the fields you ask queries can improve performance greatly larger!
You can use the statistics for building indexes:
http://www.mssqltips.com/sqlservertip/2979/querying-sql-server-index-statistics/
Tzuri Ben Ezra | My Certifications:
CompTIA A+ ,Microsoft MCP, MCTS, MCSA, MCITP |
FaceBook: Tzuri FaceBook | vCard:
Tzuri vCard |
Microsoft ID:
Microsoft Transcript
| -
How to get iterator with out dragging the table?
Hi,
Kindly help me out in getting the iterator for a view object with out dragging it on to the JSF page.
Can we create bindings in the binding container with out dragging the table on to page.
Kindly come up with suggestions.
Thanks,
Phaniif i understud correclty. follow this
public String getit58Value() {
try
if(!this.isEmptyDescr())
DCBindingContainer dcBindings = (DCBindingContainer)getBindings();
DCIteratorBinding dcIterator = dcBindings.findIteratorBinding("CrmCntrl2View1Iterator"); // r u meaning something like this. // am accessing without drop in jspx page
System.out.println(""+dcBindings.getIterBindings());
Row row = dcIterator.getCurrentRow();
this.setEmptyDescr(false);
System.out.println(""+row.getAttribute("BuDesc"));
return (String)row.getAttribute("BuDesc");
and another one .
pagedef file . in bindings.
we can create bindings as we need.
but one suggestion. by default adf tak care its bindings . so time to ask what is usecase? -
I have the new lower-end 15" MBP. I have never once experienced a time where the discrete GPU outperformed the "HD Graphics 3000". Just the opposite, in fact. On a particular itunes visualizer, I get around 55fps with the integrated GFX, and around 32 with discrete. When playing games from The Orange Box, I get 90-140fps on integrated gfx and 30-50 on discreet. These are the only specific benchmarks I have, but I have noticed the same trend elsewhere too. Is there something wrong with my computer, or is this the norm?
wyager wrote:
@ds_storeI thought the HD 3000 didn't really have any RAM, but it could borrow 384 megs from the system RAM?
Yes the HD 3000 uses main memory where programs and working files are stored, assuming the 384MG is assigned when the machine boots up. If one places more RAM in their machine, there is the possibility that more memory could be used by the HD 3000.
With about 11 on the OpenGL for the dual core with HD 3000, the quad core with HD 3000 might be around 22 or so on the OpenGL which might be just around as fast as the descrete Radeon 6490M. (which is a poor card BTW)
If certain programs were optimized for the HD 3000 by default, yea sure on this machine it's looking like certain programs may be faster on the HD 3000 than on the descrete card.
wyager wrote:
I understand if the HD 3000 gfx performs better at encoding/decoding video, it has a whole new instruction set for that, but it seems like if it performs this well all around, apple shouldn't have wasted the space for the discrete card...
It's looking with the low end 15" one has the same performance on either, all depends upon the software if it's written for integrated or descrete graphics.
Some 3D games won't run unless it has a descrete video card, what's the use.
You can see here though, descrete graphics is way ahead of integrated graphics
http://www.cbscores.com/index.php?sort=ogl&order=desc -
Not getting optimal performance out of premiere Pro CC with New Mac Pro
I have just purchased a new mac pro- 8core 64gb of RAM, and D700 graphics cards. I say I'm not getting full optimized performance because my machine will not playback 4k footage at full resolution. Should it? I looked into the package contents of Premiere Pro and notive that the D700 graphics cards were not listed under supported cards. If I type those in will that fix the issue?
No it wont. No editing software out right now will play back 4K media such as Red at full resolution. The latency for processing the codecs is just to high right now. Redcine X Pro can with Red if you have the GPU accelerated Debayering version. Until that decoding is done on the GPU's in the editing applications, you wont see the full res playback most likely. I wouldn't expect the Red Debayering done at the GPU's in Adobe for a while since Red is still refining it.
Eric
ADK -
Just updated to 7.0 and now to 7.01 and have performance issues on my fire breathing Win 7 64 system. I am constantly getting the refresh blue circle and screen dimming...this will go on for a couple of minutes and I have to go to the Task Manger to end process to get out of firefox.
I had the same issue on my Win 7 64 bit system. The browser became incredibly slow. I found these performance tweaks which have made and amazing difference in 7.01.
http://techfragments.com/news/538/Software/The_12_Best_Firefox_AboutConfig_Performance_Tweaks.html
I did not make the ram tweak and the tweak for content.notify.backoffcount actually made things worse. Other tweaks I did not do are the browser blink, mouse to paste, and source editor since these really don't seem performance related. -
Is there anyway to get better Quality out of a IDVD
Hi all I have a SONY HDR-FX1 HDV Handycam and Recorded My kids game today
in HD 1080i. It look great out of the FX1 though Component cables into my LG DLP TV, but when I Fly if down to my G5 and imovie then over to iDVD the Quality get lost. It ok to look at but no more HD Quality is there something I can do or buy to get more Quality?
G5 1.8 Dual 5.5 GB Ram
4 250gb 400-FWHD
4 250gb 800-FWHD
2 250gb SATAHDYes, there is something you can do, however it won't be cheap. If you purchase Final Cut Suite (over $1,000) you can import your HD footage natively into Final Cut Pro (natively meaning absolutely no quality is lost....on iMovie, HD video is transferred into Apple's own codec while importing, so you lose some quality, although not very much). From here you have to move it to DVD Studio Pro, where you can burn HD DVDs. The only problem with this is there aren't many HD DVD (or Blueray) players out on the market right now; most newer macs with the latest version of DVD player will play them, but that's pretty much it - unless you own a HD DVD player and an HD TV.
The problem is, you're dealing with a technology that hasn't been integrated into modern technology yet, so it makes it harder/more expensive to deal with (as I'm sure you realized when purchasing your HD camera).
Hope this helps. Good luck.
iMac G5 Mac OS X (10.4.7) -
I am irritated because I bought the New I phone 6 plus . I was told that when I put in a reminder and add location to my contacts Siri will read my reminder to me when I get to the location where the reminder is set for . why isn't it working ? Also I bought 20 more mb of storage for the cloud , how do I save my phone storae and move things to the cloud so they wont get deleted on the cloud but I can on my phone
I copied the iTunes file from the external drive and it's in both places. I thought all I would need is the iTunes program (which I downloaded to new computer) and my iTunes library file. There must be something else that's missing. My iTunes library looks the same on the new computer as it does when I open it on the external drive. If I click on an iTunes library song from my new computer, it will only play if I have the external drive plugged in.
My back-up drive is a mess. I have multiple copies of music, video, photo, and document files and I don't know how that happened. ={ Obviously, I don't know how to back up stuff properly and there are back-up files extending over a 6- to 8-year period. I think all I did was just drag and drop the main folders from the back-up drive to the same main folders on the C: drive. Also (and I'm kind of fuzzy on this) Windows used to automatically save music files in a folder within my document files (which makes no sense to me). As my Jewish friends would say, "Oy Vey!" -
I'll wanting to buy one of these these are refurbished and cannot choose please help me thanks :)
Refurbished 13.3-inch MacBook Pro 2.4GHz Dual-core Intel i5 with Retina Display
Originally released October 2013
13.3-inch (diagonal) Retina display; 2560-by-1600 resolution at 227 pixels per inch
8GB of 1600MHz DDR3L SDRAM
256GB Flash Storage1
720p FaceTime HD camera
Intel Iris Graphics
Apple Certified Refurbished
OR
Refurbished 13.3 inch MacBook Pro 2.6Ghz Dual-Core Intel i5 with Retina
Originally released October 2013
13.3-inch (diagonal) Retina display; 2560-by-1600 resolution at 227 pixels per inch
8GB of 1600MHz DDR3L SDRAM
128GB Flash Storage1
720p FaceTime HD camera
Intel Iris Graphics
Apple Certified Refurbished
Which one is the better one, they are the same price what one will run faster and what one would you buy
Many Thanks :)
Maybe you are looking for
-
Double click on button in ipad
I have buttons with simple animation. They works well in any browser and mobiles. Only problem is on ipad: you have to touch twice! The first touch starts the animation (on mouse over), the second one goes to the page (on click). (Android goes immedi
-
Illustrator CS4 Not Starting (no error messages)
I'm running into a problem trying to run Illustrator CS4. It has worked int he past, but I've gone a month or two without touching it. Yesterday I installed a trial version of Photoshop CS4, which ran fine. Today I tried to start up Illustrator and
-
Incompatible archive_log_dest withe archive_log_dest_n
My problem is the following: I have put my database in the archivelog mode. But I can't fill in my local directory for the arc files. The message says that archive_log_dest and archive_lod_dest_duplex are incompatible with mine archive_log_dest_1. St
-
It just started recently. The times on emails our wrong but not the time on the iPhone. It seemed like it started when i implemented IMAP account through gmail and set them up on the phone. Do you know how to fix this?
-
Thunderbolt port failure on Late 2011 Macbook Pro?
On a daily basis, I use a 1TB Seagate GoFlex external HDD that was originally a USB 3.0 interface until I bought the Thunderbolt sled (replacing the USB 3.0 interface) for things like Time Machine backups, photo management in Aperture and the like. L