Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Mailing Lists -> Oracle-L -> Re: what is wrong with this idea ...
> 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: lembark_at_wrkhors.com 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: ListGuru_at_fatcity.com (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).Received on Wed Aug 14 2002 - 09:23:47 CDT
![]() |
![]() |