This should all be done is SQL.

At a design stage, you take your outputs (mock up html pages or reports. I am sure you or anyone has a screen with 30,000 records on it, or even a 1,000) and do some data model.
Based on your analysis you should know the SQL.


If this is hard for you, then attach a html mock up of you screen one and screen 2. I will write the SQL for you based on those requirements.
So far I think it's a simple 2 way join (people write 12 way joins, or 10 page stored procs, quite possible you are concrend about a problem that does not exist. I tell you it's sub second! Also you just went from 300,000 to 30,000... maybe it's 3,000 or 3,000,000. It does not mater the records, it's a 2 way equi join. )


Recomendation to the list: Please read Celcko's "SQL for Smarties", my all time fave for designers.

.V

Jerry Jalenak wrote:

Vic -

This is still in the design stage, so I don't have a SQL statement to
provide.  I'm looking for the best approach to handling what is essentially
a table lookup where I need two keys (BILLING_ACCOUNT and ACCOUNT_CODE)....

The scenario is this:  When one of my clients logs on to the webapp, the app
determines the BILLING_ACCOUNTs the client has assigned, then explodes the
BILLING_ACCOUNTs into the composite ACCOUNT_CODES.  As an example, I've got
one client with 54 BILLING_ACCOUNTs; these explode to over 30,000
ACCOUNT_CODES.  I am trying to eliminate 30,000 db calls to get the account
information - that's why I'm looking to pre-load the table(s) in a plug-in
and access everything in memory.

Make sense?

Jerry Jalenak
Development Manager, Web Publishing
LabOne, Inc.
10101 Renner Blvd.
Lenexa, KS  66219
(913) 577-1496

[EMAIL PROTECTED]



-----Original Message-----
From: Vic Cekvenich [mailto:[EMAIL PROTECTED]
Sent: Thursday, November 06, 2003 8:46 AM
To: [EMAIL PROTECTED]
Subject: Re: [OT - Design] Needing Fast Access to 300,000 Records



Jerry Jalenak wrote:

Hi All -

I've been trying to figure out a good way of handling

something, and just


can't quite seem to get a grip on the best approach.

Here's what I've got:


Two database tables - Table 1 has a BILLING_CODE and an

ACCOUNT_CODE. Table


2 has the ACCOUNT_CODE and other account information (name,

address, etc.)


The tables are linked by ACCOUNT_CODE.

        Table 1:
Table 2:
                BILLING_CODE            ACCOUNT_CODE
ACCOUNT_CODE    NAME    ADDRESS ...
                1234                    ABC1
ABC1                    blah    blah
                1234                    ABC2
ABC2                    blah    blah
                1234                    ABC3
ABC3                    blah    blah
                5678                    DEF1
DEF1                    blah    blah
                5678                    DEF2
DEF2                    blah    blah

I need to be able to rapidly access the information in

table 2 either


through the BILLING_CODE, or directly through the

ACCOUNT_CODE. I can


create a POJO containing the BILLING_CODE and a List object

to hold a second


POJO for the table 2 info. Or I can use a Map. Either way

doesn't give me


a good method of accessing the table 2 information based on

ACCOUNT_CODE.


Two other bits of info - the combined number of records

exceeds 300,000, so


I have a scaling issue. Second, I'd like to load

everything in a plug-in


using iBatis dbLayer and store it in application scope (to

eliminate db


calls as the webapp is used.)

That is ridiculous!!
Why stop there, why not just write your own SQL engine in Java?
Say 300,000 records times 500 bytes for each record in memory... I can't begin to ...


You can easily get sub second response scelable, that is a very, very, small database for a SQL engine. Post the the SQL command that is giving you performance problem. What DB are you using?
iBatis is nicely going to cache duplicate requests and flush, that's all, its a DAO.
.V



Does anyone have any experience in handling something like

this? How did


you do it?

Thanks...

Jerry Jalenak
Development Manager, Web Publishing




LabOne, Inc.
10101 Renner Blvd.
Lenexa, KS  66219
(913) 577-1496

[EMAIL PROTECTED]


This transmission (and any information attached to it) may

be confidential and


is intended solely for the use of the individual or entity

to which it is


addressed. If you are not the intended recipient or the

person responsible for


delivering the transmission to the intended recipient, be

advised that you


have received this transmission in error and that any use,

dissemination,


forwarding, printing, or copying of this information is

strictly prohibited.


If you have received this transmission in error, please

immediately notify


LabOne at the following email address:

[EMAIL PROTECTED]


--
Victor Cekvenich,
Struts Instructor
(215) 321-9146

Advanced Struts Training
<http://basebeans.com/do/cmsPg?content=TRAINING> Server Side Java
training with Rich UI, mentoring, designs, samples and project recovery
in North East.
Simple best practice basic Portal, a Struts CMS, Membership, Forums,
Shopping and Credit processing, <http://basicportal.com> software, ready
to develop/customize; requires a db to run.




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




This transmission (and any information attached to it) may be confidential and
is intended solely for the use of the individual or entity to which it is
addressed. If you are not the intended recipient or the person responsible for
delivering the transmission to the intended recipient, be advised that you
have received this transmission in error and that any use, dissemination,
forwarding, printing, or copying of this information is strictly prohibited.
If you have received this transmission in error, please immediately notify
LabOne at the following email address: [EMAIL PROTECTED]

-- Victor Cekvenich, Struts Instructor (215) 321-9146

Advanced Struts Training
<http://basebeans.com/do/cmsPg?content=TRAINING> Server Side Java
training with Rich UI, mentoring, designs, samples and project recovery
in North East.
Simple best practice basic Portal, a Struts CMS, Membership, Forums,
Shopping and Credit processing, <http://basicportal.com> software, ready
to develop/customize; requires a db to run.



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to