-- Gurelei <[EMAIL PROTECTED]>
> Hi. We have a table in our data warehouse which keeps
> info about calls made. This table has a child table
> with some detailed information about parts of the
> call. There may be any number of "parts" within a call
> (1 to many) and every part has a status.
>
> MY developer wants to add a string field to the parent
> table which will concatinate all the statuses for
> all the parts within this call. For example if
> a call has 4 parts and their statuses are "A","B","A"
> and "F", the value of that field will be "ABFA". Then
> the developer will be able to query smalle parent
> table instead of a large child table in order to see
> how many calls had at least one part with status "A"
> or statuses "A" and "F" etc by using a INSTR (or
> SUBSTR) command.
>
> Would it be better (from performance/CPU standpoint)
> to add several separate fields: STATUS_A_CNT,
> STATUS_B_CNT (the list of status codes is fairly
> static) instead? There is something about this string
> that rubs me the wrong way, but I can't put my finger
> on it.
I would avoid composite fields at all costs. Performance
is one reason: you have to perform a substr to get at
the foreign key value. Function indexes can help there
but properly normalizing the data will do a better job.
--
Steven Lembark 2930 W. Palmer
Workhorse Computing Chicago, IL 60647
+1 800 762 1582
--
Please see the official ORACLE-L FAQ: http://www.orafaq.com
--
Author: Steven Lembark
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).