how about index organizing the table ? or .. creating an index on all the
columns of the table..? 
this way the select will read only the index blocks..!!

> ----------
> From:         Robertson Lee - lerobe[SMTP:[EMAIL PROTECTED]]
> Reply To:     [EMAIL PROTECTED]
> Sent:         Thursday, May 30, 2002 9:43 PM
> To:   Multiple recipients of list ORACLE-L
> Subject:      RE: Advice needed please
> 
> Thanks Dennis.
> 
> Anything whether it be a "reaction or an answer", is welcome.
> 
> Regards
> 
> Lee 
> 
> 
> -----Original Message-----
> Sent: 30 May 2002 15:08
> To: Multiple recipients of list ORACLE-L
> 
> 
> Lee - Just some reactions, few answers.
>   - Generally a process like this will be disk-bound, not CPU-bound, so
> idle
> CPU time is to be expected unless your disk is REALLY fast.
>   - Multiple simultaneous full-table scans may not be any faster because
> the
> disk heads may need to flit to and fro in order to satisfy each process'
> request. Sometimes a single full table scan is as fast is it gets for a
> mechanical device like a disk. RAID will be faster, of course, but
> ultimately the RAID is composed of disks.
>   - Trying for something faster than select * is a real challenge. To
> perform a full table scan, Oracle must read each data block. The
> alternative
> is index scanning, but this means reading an index block, fetching a data
> block, etc. Not faster if you're going to eventually read all data blocks
> anyway. 
>   - If select * isn't fast enough, you should consider using table
> partitioning. That way each process can separately scan a separate
> partition
> and separately write to your output files.
> Hopefully someone else will think of a bright idea I've missed.
> Dennis Williams
> DBA
> Lifetouch, Inc.
> [EMAIL PROTECTED]
> 
> 
> -----Original Message-----
> Sent: Thursday, May 30, 2002 6:48 AM
> To: Multiple recipients of list ORACLE-L
> 
> 
> Oracle 8.0.5
> 
> Tru64 4.0f
> 
> One of our developers here is writing a utility to provide fast unloads of
> tables (to replace fastunloader as it happens)
> 
> His problem is as follows. Start from the bottom and work your way up. I
> would be really grateful if anyone can offer up some alternatives for us.
> 
> Regards
> 
> Lee
> 
> 
> >      -----Original Message-----
> >     From:   Dudley Dave - ddudle  
> >     Sent:   29 May 2002 16:04
> >     To:     Robertson Lee - lerobe
> >     Subject:        RE: Do you still have that SQL Expert?
> > 
> > 
> >     No, you miss the point. I'm explicitly NOT using PQ (or at least not
> > explicitly using it).
> > 
> >     Using a parallel hint on huge table unloads - with the
> > single-threaded version of the code (i.e. pipdynsql.v2.0.0) didn't seem
> to
> > make much difference at all. I didn't do the tests directly though,
> poeple
> > on the account did. So it may be that the tables already had a degree of
> > parallelism built in, in which case I'd guess the hint would be
> redundant.
> > 
> >     What I mean is that even if you use PQ for the server to extract the
> > data in parallel you still have the bottle neck of a single client to
> send
> > it all back to. That's what I was trying to get around. Assuming that
> > we're not generally using the full network bandwidth, I'd assume that
> > multiple clients ought to be able to dump out separate sections of a
> table
> > at the same time, at roughly the same speed at a single client would
> > unload a single table - i.e double the throughput.
> > 
> >     But I can't find anything on the web to tell me the best / most
> > efficient way to actually do this. (By the way, I've tried the
> NO_PARALLEL
> > hint too, to stop the server setting off too many conflicting slaves on
> > its side. Again no better as far as I could tell.)
> > 
> >     N.B. Not sure if you'd suggest it, but before you do: most of the
> > tables we'd really want to use this for are massive, and so are already
> > partitioned. So where I say "table" I mean either that or a partition
> > thereof. Besides, need a generic solution that doesn't rely on having to
> > partition your table to unload it quickly.
> > 
> >     By the way, I'm specifically testing speed of my original code (e.g.
> > pipdynsql.v2.0.0 user/pass "select * from table") against the new
> > multithreaded development code - i.e. regardless of the machine load at
> > the time, I want to see if multiple simultaneous unloads can be quicker
> > than a single unload client (at the expense of using more machine /
> Oracle
> > resource obviously).
> > 
> >     Is this making sense?
> > 
> >     Dave
> > 
> >      -----Original Message-----
> >     From:   Robertson Lee - lerobe  
> >     Sent:   29 May 2002 15:14
> >     To:     Dudley Dave - ddudle
> >     Subject:        RE: Do you still have that SQL Expert?
> > 
> > 
> >     How are you using PQ, is it just a hint ??. Which tables are you
> > testing against.
> > 
> > 
> >              -----Original Message-----
> >             From:   Dudley Dave - ddudle  
> >             Sent:   29 May 2002 14:27
> >             To:     Robertson Lee - lerobe
> >             Subject:        RE: Do you still have that SQL Expert?
> > 
> >             OK Clever-Trousers,
> > 
> >             As you're so hot on table/index disk striping...
> > 
> >             I've written the program "pipdynsql", which as you may have
> > heard (this lunchtime if not before), people want to use to replace
> > FastUnloader.
> > 
> >             I've been playing about with a new multithreaded version to
> > try to download a table in sections to multiple client threads which
> then
> > write back out to a single file (either ordered, or for max speed in
> > random/undefined order).
> > 
> >             Can you think of any quick ways to do this, or "tricks" to
> > try?
> > 
> >             I've tried ranges of rowids (as I'm told that's hold
> > parrallel query works) but the ROWID (tab) hint does not seem to go
> > through the table in rowid order. And it's a massive overhead to order
> by
> > rowid to work out non-overlapping ranges. And even if you do, you have
> to
> > say WHERE rowid >= xxx AND rowid <= xxx (as I say, can't force it to go
> in
> > ROWID "sort" order) so this tends to be slower than nect opt...
> > 
> >             tried assuming there's a unique index and giving start
> > points to each slave thread, which then selects a set number of rows.
> This
> > is prety quick, but even this seems slower than a simple SELECT * FROM
> > table (for the same number of records).
> > 
> >             tried loading temp "rowid" tables with sets of rowids and
> > each slave does a full table scan of its rowid set table, with where
> > clause connection to the data table.
> > 
> > 
> >             Can't find anything better than my original method which
> > selects a unique key from an index with a "master" thread, for every
> x'th
> > rownum. Then hands these out to the slave threads to select * from table
> > where unique key >= given key for specified number of records. e.g.
> master
> > pulls out every 100,000th key with a modulus and each slave dumps out
> > 100,000 rows at a time, starting at the key its given.
> > 
> >             The above uses a temp view for the rownum bit to work. Also
> > tried without a master slave where the unique key is numeric, as you can
> > do the modulud directly on this. Tends to be slower - I guess due to MOD
> > func overhead? Tried adding CACHE(table) to this to try and make sure
> all
> > threads will get the majority of selected data from cache, rather than
> > each going to disk. But no better.
> > 
> >             Tried many, many other combinations of hints, but can't seem
> > to get more than "almost" double speed of a SELECT * from TABLE single
> > process approach - using about 5 threads. Even when there's loads of
> free
> > oracle/CPU resource available.
> > 
> >             Any ideas?!?!
> > 
> >             Dave
> > 
> 
> 
> The information contained in this communication is
> confidential, is intended only for the use of the recipient
> named above, and may be legally privileged. If the reader 
> of this message is not the intended recipient, you are
> hereby notified that any dissemination, distribution or
> copying of this communication is strictly prohibited.  
> If you have received this communication in error, please 
> re-send this communication to the sender and delete the 
> original message or any copy of it from your computer
> system.
> -- 
> Please see the official ORACLE-L FAQ: http://www.orafaq.com
> -- 
> Author: Robertson Lee - lerobe
>   INET: [EMAIL PROTECTED]
> 
> Fat City Network Services    -- (858) 538-5051  FAX: (858) 538-5051
> San Diego, California        -- Public Internet access / Mailing Lists
> --------------------------------------------------------------------
> To REMOVE yourself from this mailing list, send an E-Mail message
> to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
> the message BODY, include a line containing: UNSUB ORACLE-L
> (or the name of mailing list you want to be removed from).  You may
> also send the HELP command for other information (like subscribing).
> -- 
> Please see the official ORACLE-L FAQ: http://www.orafaq.com
> -- 
> Author: DENNIS WILLIAMS
>   INET: [EMAIL PROTECTED]
> 
> Fat City Network Services    -- (858) 538-5051  FAX: (858) 538-5051
> San Diego, California        -- Public Internet access / Mailing Lists
> --------------------------------------------------------------------
> To REMOVE yourself from this mailing list, send an E-Mail message
> to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
> the message BODY, include a line containing: UNSUB ORACLE-L
> (or the name of mailing list you want to be removed from).  You may
> also send the HELP command for other information (like subscribing).
> -- 
> Please see the official ORACLE-L FAQ: http://www.orafaq.com
> -- 
> Author: Robertson Lee - lerobe
>   INET: [EMAIL PROTECTED]
> 
> Fat City Network Services    -- (858) 538-5051  FAX: (858) 538-5051
> San Diego, California        -- Public Internet access / Mailing Lists
> --------------------------------------------------------------------
> To REMOVE yourself from this mailing list, send an E-Mail message
> to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
> the message BODY, include a line containing: UNSUB ORACLE-L
> (or the name of mailing list you want to be removed from).  You may
> also send the HELP command for other information (like subscribing).
> 
-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.com
-- 
Author: Rahul
  INET: [EMAIL PROTECTED]

Fat City Network Services    -- (858) 538-5051  FAX: (858) 538-5051
San Diego, California        -- Public Internet access / Mailing Lists
--------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).

Reply via email to