[AccessD] SQL Speed

Mark A Matte markamatte at hotmail.com
Fri Aug 17 09:58:13 CDT 2007


Thanks Fred,

Making a union with my 10k SQLs would put me almost to 4million characters.

As for the concatenation ...its not just the fields... it will concatenate 2 
fields from every record returned from each SQL statement:

ID            VALUE
aa            -15
bb            18.5
cc             -21.2
ee            16

Lets say these records are returned from 1 SQL...I then need the ID and 
Value from each of these records stored as a string:

aa -15: bb 18.5: cc -21.2: ee 16

...or something similar.  and then do it again for the other 9999 SQLs.

Thanks,

Mark A. Matte





>From: "Fred Hooper" <fahooper at trapo.com>
>Reply-To: Access Developers discussion and problem 
>solving<accessd at databaseadvisors.com>
>To: "'Access Developers discussion and problem 
>solving'"<accessd at databaseadvisors.com>
>Subject: Re: [AccessD] SQL Speed
>Date: Thu, 16 Aug 2007 18:35:49 -0400
>
>Hi Mark,
>
>I don't know how long an SQL statement can be, but I've written some very
>long ones - at least 5k characters. When you find out the limit you could
>just use a loop and maybe have to run 2 or 3 (or 50) queries - still much
>better than 10k.
>
>You could adapt Gustav's "sort with union all" idea by placing "select n as
>ID_no" as the first field and separate the results later using that #. If
>they have different numbers of fields, then place dummy fields where 
>needed.
>
>The results get into the temp table by having another query that uses the
>pass-through query as its source.
>
>I suggested this because of my experience: I was placing information on all
>of the tables/fields in an SQL Server database (about 13k fields) into an
>Access table so I could more easily learn the database. First, I tried a
>direct SQL statement against the database. It ran a couple of seconds in
>Query Analyzer. When I used it as a recordset to fill the table, I killed 
>it
>in a few minutes - but it was going to run at least an hour. The
>pass-through query fills the table (through another query) in 2-3 seconds.
>
>Also, why not concatenate the fields in SQL?
>
>Fred
>
>-----Original Message-----
>From: accessd-bounces at databaseadvisors.com
>[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A Matte
>Sent: Thursday, August 16, 2007 11:26 AM
>To: accessd at databaseadvisors.com
>Subject: Re: [AccessD] SQL Speed
>
>Thanks Fred,
>
>But I need to do take the results of each statement and send them
>individually somewhere(either email or temp table)...
>
>
>...and can an SQL statement be that long?
>
>Thanks,
>
>Mark A. Matte
>
>
> >From: "Fred Hooper" <fahooper at trapo.com>
> >Reply-To: Access Developers discussion and problem
> >solving<accessd at databaseadvisors.com>
> >To: "'Access Developers discussion and problem
> >solving'"<accessd at databaseadvisors.com>
> >Subject: Re: [AccessD] SQL Speed
> >Date: Wed, 15 Aug 2007 18:07:26 -0400
> >
> >Hi Mark,
> >
> >Is there any chance you could string those 10k runs together with union
> >all's? If so, you could run all of them at once with a pass-though query,
> >which would be *much* faster than 10k separate runs.
> >
> >Fred
> >
> >-----Original Message-----
> >From: accessd-bounces at databaseadvisors.com
> >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A Matte
> >Sent: Wednesday, August 15, 2007 9:47 AM
> >To: accessd at databaseadvisors.com
> >Subject: Re: [AccessD] SQL Speed
> >
> >I'm not returning 4K rows...the table I'm running these SQL statements
> >againts has 4K rows...
> >
> >In one table I have 10K SQL statements(1 per row).  The SQL statements 
>are
> >all filtering on indexed currency and integer fields.  I pullin all 10K 
>as
> >a
> >
> >recordset....and loop through...for each row, I execute that SQL againts 
>a
> >table with about 4K rows...and take the results (typically between 1 and 
>20
> >rows) and concatenated a Char4 and a Currency field from each of the
> >results
> >
> >into 1 long string (this will later be the body of an email).
> >
> >So...I run 10K SQL statements, one right after the other, against a table
> >with about 4K rows, returning between 1 and 20 records per SQL statement.
> >
> >To run these 10K and store the results it takes just less than 2
> >Minutes...if this is slow...please share how long (average) you would
> >expect
> >
> >it to take 10K queries to run?
> >
> >There is more detail in the emails below...
> >
> > >From: "Christopher Hawkins" <clh at christopherhawkins.com>
> > >Reply-To: Access Developers discussion and problem
> > >solving<accessd at databaseadvisors.com>
> > >To: <accessd at databaseadvisors.com>
> > >Subject: Re: [AccessD] SQL Speed
> > >Date: Tue, 14 Aug 2007 20:08:09 -0600
> > >
> > >Hi, Mark.  I think I missed this topic the first time it came up.
> > >
> > >This is a hard question to answer, mainly because you don't mention 
>what
> > >type of data is contained in the 4K rows you're querying, and how many
> > >fields are involved.  You also mention that the results will be
> > >"concatenated", which seems like an odd thing to do.  I would expect 
>you
> >to
> >
> > >run a sum or a count or something, not a concatenation of 4K rows.  Can
> >you
> >
> > >provide more detail?
> > >
> > >Off the cuff, 2 minutes sounds slow to return 4K rows of the kind of 
>data
>
> >I
> >
> > >tend to work with, but like I said, I'm not exactly clear on what 
>you're
> > >doing with those rows.
> > >
> > >Can you show us the actual SQL?
> > >
> > >-C-
> > >
> > >----------------------------------------
> > >
> > >From: "Mark A Matte" <markamatte at hotmail.com>
> > >Sent: Tuesday, August 14, 2007 3:12 AM
> > >To: accessd at databaseadvisors.com
> > >Subject: Re: [AccessD] SQL Speed
> > >
> > >Hello All,
> > >
> > >I haven't received any responses after the email below. I am 
>specifically
> > >curious about the realistic time to run 10K sql statements (see below).
> > >Access vs. SQL server?
> > >
> > >Any feedback is greatly appreciated.
> > >
> > >Thanks,
> > >
> > >Mark A. Matte
> > >
> > > >From: "Mark A Matte"
> > > >Reply-To: Access Developers discussion and problem
> > > >solving
> > > >To: accessd at databaseadvisors.com
> > > >Subject: Re: [AccessD] SQL Speed
> > > >Date: Thu, 09 Aug 2007 17:27:51 +0000
> > > >
> > > >Thanks to All for your responses...(everything discussed below is
> > >currently
> > > >in A2K)
> > > >
> > > >I'm at the beginning of this and appreciate any ideas...This program
> >has
> > > >been running 24/7 for the last 3 years...but only runs 1 SQL 
>statement.
> > >It
> > > >runs the statement, loops through the results and concatenates the
> > >results,
> > > >and then emails the results (for these tests we are going to forget
> >about
> > > >the email part and just store the results in a separate table).
> > > >
> > > >Last night I put a loop on this and ran it 10K times. It took just
> >under
> > >2
> > > >minutes. To make it more realistic, (the 10k SQL statements will all 
>be
> > > >different, but very similar) I removed the SQL from the code and 
>placed
> > >it
> > > >in a memo field in another table (tblSQL). Next, I modified the code 
>so
> > > >now
> > > >it first pulls all records form tblSQL (I added 10k rows...but all 
>the
> > >same
> > > >SQL statement)...then for each of these records...it does the stuff I
> > > >outlined above.
> > > >
> > > >Again, it ran in just under 2 minutes. I need this to be as fast as
> > > >possible, and I don't know what a realistic time is. I apparently can
> >do
> > > >10K in less than 2 minutes, but is this good, bad, average?
> > > >
> > > >Any thoughts/ideas?
> > > >
> > > >Thanks,
> > > >
> > > >Mark A. Matte
> > > >
> > > >
> > > > >From: Jim Lawrence
> > > > >Reply-To: Access Developers discussion and problem
> > > > >solving
> > > > >To: "'Access Developers discussion and problem
> > > > >solving'"
> > > > >Subject: Re: [AccessD] SQL Speed
> > > > >Date: Wed, 08 Aug 2007 22:15:43 -0700
> > > > >
> > > > >Well, you have probably already thought of this, but any queries 
>that
> > >can
> > > > >run on the SQL server as pre-compiled stored procedures will give
> > > >superior
> > > > >performance.
> > > > >
> > > > >Jim
> > > > >
> > > > >-----Original Message-----
> > > > >From: accessd-bounces at databaseadvisors.com
> > > > >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A
> >Matte
> > > > >Sent: Wednesday, August 08, 2007 1:57 PM
> > > > >To: accessd at databaseadvisors.com
> > > > >Subject: [AccessD] SQL Speed
> > > > >
> > > > >Hello All,
> > > > >
> > > > >I am involved in a project that will be web based. The database 
>will
> > > > >either
> > > > >
> > > > >be access or SQL Server.
> > > > >
> > > > >The question is: I need to run a bunch (maybe 10K) of SQL 
>statements
> > > > >againts a single table...or flat file, whatever is best, containing
> > >about
> > > > >4K
> > > > >
> > > > >rows. The results of each will be appended to a second table, or
> > >emailed
> > > > >instantly (ahh...idea...good place for a JC style Class). The SQL
> > > > >statements themselves will be stored in a table.
> > > > >
> > > > >Does anyone have any ideas/suggestions about approach? I will need
> >ALL
> > > >of
> > > > >the SQLs to run in less than 5 minutes. I know 1 runs in a fraction
> >of
> > >a
> > > > >second...I just don't know what that fraction is to calculate time
> > > >needed.
> > > > >
> > > > >Being there are so few rows involved...but so many SQL
> >statements...and
> > > > >speed is an issue...will there be a signicant advantage using SQL
> > >Server
> > > >or
> > > > >Access?
> > > > >
> > > > >I'm thinking of having the SQLs in a table and looping through and
> > > > >executing
> > > > >
> > > > >each...I just don't know if this is the best approach?
> > > > >
> > > > >Thanks,
> > > > >
> > > > >Mark A. Matte
> > > > >
> >
> >_________________________________________________________________
> >Puzzles, trivia teasers, word scrambles and more. Play for your chance to
> >win! http://club.live.com/home.aspx?icid=CLUB_hotmailtextlink
> >
> >--
> >AccessD mailing list
> >AccessD at databaseadvisors.com
> >http://databaseadvisors.com/mailman/listinfo/accessd
> >Website: http://www.databaseadvisors.com
> >
> >
> >--
> >AccessD mailing list
> >AccessD at databaseadvisors.com
> >http://databaseadvisors.com/mailman/listinfo/accessd
> >Website: http://www.databaseadvisors.com
>
>_________________________________________________________________
>Booking a flight? Know when to buy with airfare predictions on MSN Travel.
>http://travel.msn.com/Articles/aboutfarecast.aspx&ocid=T001MSN25A07001
>
>--
>AccessD mailing list
>AccessD at databaseadvisors.com
>http://databaseadvisors.com/mailman/listinfo/accessd
>Website: http://www.databaseadvisors.com
>
>
>--
>AccessD mailing list
>AccessD at databaseadvisors.com
>http://databaseadvisors.com/mailman/listinfo/accessd
>Website: http://www.databaseadvisors.com

_________________________________________________________________
Now you can see trouble…before he arrives 
http://newlivehotmail.com/?ocid=TXT_TAGHM_migration_HM_viral_protection_0507




More information about the AccessD mailing list