Re: [cx-oracle-users] AW: cx-oracle-users digest, Vol 1 #99 - 8 msgs
Brought to you by:
atuining
From: Chris D. <cdu...@ya...> - 2005-05-12 09:32:14
|
Danny, Thanks for the idea, I'll give it a look. Chris --- "D.R. Boxhoorn" <da...@as...> wrote: > > Hoi Chris, > > Have you considered the following decorate/undecorate pattern? > > SQL: SELECT strcolumn || 'x' FROM ... > > python: strcolumn = row[0][:-1] > > As far as I can tell this will give about as much overhead as an if statement. > However, only benchmarking your application will tell you what works best. > > Danny > > > On Thu, May 12, 2005 at 01:22:56AM -0700, Chris Dunscombe wrote: > > Henning, > > > > I know what you mean, but the issue is that this "if test" has to go in some sort of function > and > > be called for each col returned in each row and it's the function call overhead that's really > the > > issue. I'd like to use the following: > > > > append = rowsOutput.append > > for row in data: # where data is the resultset from a query > > rowsGroup = rowsGroup + 1 > > append("%s%s%s%s" %(row[0], colSep, row[1], colSep)) # In reality many more columns > > append(recSep) > > if rowsGroup > : > > outFile.write(''.join(rowsOutput)) > > rowsGroup = 0 > > rowsOutput = [] > > outFile.write(''.join(rowsOutput)) > > > > Now if I need to do the test on None then I believe I need to call a function or have the if > test > > inline in a loop and with many columns this is quite an overhead. In my test case on a 13 > column > > table returning 200K rows: > > > > Doing the if test approx 20 CPU secs in Python > > No if test approx 16 CPU secs secs in Python > > > > A 20% reduction. I know the numbers here are small but given the app will be running against > many > > tables concurrently and extracting millions of rows the potential saving is significant. > > > > Thanks for taking the time to respond. > > > > Cheers, > > > > Chris > > > > --- Henning von Bargen <H.v...@t-...> wrote: > > > Chris, > > > > > > why do you think the simple statement "if x is None: x=''" means an > > > overhead? > > > It means about 0.000(insert zeroes here)1 percent performance overhead, > > > because transferring/outputting the data is what takes most of time. > > > > > > And - with Python - it should not mean too much typing overhead. > > > You could easily write a function to do this automatically for each > > > record. > > > > > > HTH > > > Henning > > > > > > > > > > -----Urspr?ngliche Nachricht----- > > > > From: Chris Dunscombe <cdu...@ya...> > > > > To: cx-oracle-list <cx-...@li...> > > > > Subject: [cx-oracle-users] Nulls returned as None and not as > > > > as "empty or zero lenght string" > > > > Reply-To: cx-...@li... > > > > > > > > All, > > > > > > > > Is there anyway that Null values returned from a query can be > > > > an "empty or zero length string" > > > > instead of None? > > > > > > > > This may seem a strange request as it's easy to use type to > > > > test if a null has been returned as > > > > None. However I've a performance critical app where I need to > > > > output "nothing" (zero length / > > > > empty string) if the value is null. Hence at present I have > > > > to perform this "type test" on ALL > > > > columns that don't have a "Not Null" constraint in the > > > > database which is quite an overhead when in > > > > some cases I need to do it millions and sometimes billions of times. > > > > > > > > Thanks, > > > > > > > > Chris Dunscombe > > > > > > > > > > > > > ------------------------------------------------------- > > > This SF.Net email is sponsored by Oracle Space Sweepstakes > > > Want to be the first software developer in space? > > > Enter now for the Oracle Space Sweepstakes! > > > http://ads.osdn.com/?ad_ids93&alloc_id281&op=click > > > _______________________________________________ > > > cx-oracle-users mailing list > > > cx-...@li... > > > https://lists.sourceforge.net/lists/listinfo/cx-oracle-users > > > > > > > > > __________________________________________________ > > Do You Yahoo!? > > Tired of spam? Yahoo! Mail has the best spam protection around > > http://mail.yahoo.com > > > > > > ------------------------------------------------------- > > This SF.Net email is sponsored by Oracle Space Sweepstakes > > Want to be the first software developer in space? > > Enter now for the Oracle Space Sweepstakes! > > http://ads.osdn.com/?ad_id=7393&alloc_id=16281&op=click > > _______________________________________________ > > cx-oracle-users mailing list > > cx-...@li... > > https://lists.sourceforge.net/lists/listinfo/cx-oracle-users > > > ------------------------------------------------------- > This SF.Net email is sponsored by Oracle Space Sweepstakes > Want to be the first software developer in space? > Enter now for the Oracle Space Sweepstakes! > http://ads.osdn.com/?ad_ids93&alloc_id281&op=click > _______________________________________________ > cx-oracle-users mailing list > cx-...@li... > https://lists.sourceforge.net/lists/listinfo/cx-oracle-users > Discover Yahoo! Find restaurants, movies, travel and more fun for the weekend. Check it out! http://discover.yahoo.com/weekend.html |