Jim,

Also, in general, an index or key on a column being updated will slow down
the update (because the Index has to be updated for each row, too). An index
or key on a column referenced only in the WHERE clause is likely to speed it
up.

Bill


On Mon, Dec 7, 2009 at 11:57 AM, Dennis McGrath <[email protected]> wrote:

> Jim,
>
> Let us know how it works out.
>
> Dennis
>
> -----Original Message-----
> From: [email protected] [mailto:[email protected]] On Behalf Of Jim
> Belisle
> Sent: Monday, December 07, 2009 10:49 AM
> To: RBASE-L Mailing List
> Subject: [RBASE-L] - Re: I/O PROBLEMS WITH SIMPLE VIEWS
>
> Dennis,
>
> Thanks for the suggestions. I am changing my database and adding features
> so the primary key may be the route to go.
>
> Jim
>
> -----Original Message-----
> From: [email protected] [mailto:[email protected]] On Behalf Of Dennis
> McGrath
> Sent: Monday, December 07, 2009 10:40 AM
> To: RBASE-L Mailing List
> Subject: [RBASE-L] - Re: I/O PROBLEMS WITH SIMPLE VIEWS
>
> You have the same speed issue whether you use the tables or the views.
> And the views just add overhead.
>
> If indexes would be extremely inefficient (small number of values) I would
> not recommend using them.
>
> Is ShipDate Indexed in either table? That looks like a logical column to
> index.
>
> Does ordhead have a primary key?
>
> If so this will make things fly, if shipdate is indexed in BOLHead.
>
> UPDATE OrdHead SET FreightPro = T2.FreightPro FROM +
>   OrdHead T1, BOLHead T2 WHERE T1.PrimaryKey in +
>   (SELECT PrimaryKey from OrdHead WHERE Control# IN ( &vControlList )) +
>   AND T1.ShipDate = T2.ShipDate AND +
>   T1.Control# = T2.Control#
>
> Dennis McGrath
>
>
> -----Original Message-----
> From: [email protected] [mailto:[email protected]] On Behalf Of Jim
> Belisle
> Sent: Monday, December 07, 2009 10:27 AM
> To: RBASE-L Mailing List
> Subject: [RBASE-L] - Re: I/O PROBLEMS WITH SIMPLE VIEWS
>
> Dennis,
>
> I could do that but with the OrderHeader tables potentially having
> thousands of rows, the UPDATE may take a while to Find and update the few
> fields.
>
> I use indexes in other tables, so would you suggest indexes to speed up the
> process?
>
> Jim
>
> -----Original Message-----
> From: [email protected] [mailto:[email protected]] On Behalf Of Dennis
> McGrath
> Sent: Monday, December 07, 2009 10:21 AM
> To: RBASE-L Mailing List
> Subject: [RBASE-L] - Re: I/O PROBLEMS WITH SIMPLE VIEWS
>
> Why bother with the views????
>
> UPDATE OrdHead SET FreightPro = T2.FreightPro FROM +
>        OrdHead T1, BOLHead T2 +
>       WHERE T1.Control# IN ( &vControlList ) +
>       AND T1.ShipDate = T2.ShipDate AND +
>        T1.Control# = T2.Control#
>
> Dennis McGrath
> ________________________________________
> From: [email protected] [mailto:[email protected]] On Behalf Of Jim
> Belisle
> Sent: Monday, December 07, 2009 9:41 AM
> To: RBASE-L Mailing List
> Subject: [RBASE-L] - Re: I/O PROBLEMS WITH SIMPLE VIEWS
>
> Here is the code for UPDATING one view form the other view:
>
> The views are created and I can manually edit data with no problem.
> CREATE TEMP VIEW View_OrdHead (Control#, ShipDate, FreightPro) +
>        AS SELECT Control#, Shipdate, FreightPro +
>        FROM OrderHeader WHERE Control# IN (&vControlList)
> CREATE TEMP VIEW View_BOLHead (Control#, ShipDate, FreightPro) +
>        AS SELECT Control#, Shipdate, FreightPro +
>        FROM BOLHeader WHERE Control# IN (&vControlList)
> -- Update OrderHeader, OrderShip & BOLHeader w/ Shipdates, FreightPros then
> delete nulls.
>
> UPDATE View_OrdHead SET FreightPro = T2.FreightPro FROM +
>        View_OrdHead T1, View_BOLHead T2 WHERE T1.ShipDate = T2.ShipDate AND
> +
>        T1.Control# = T2.Control#
> This is where I get the I/O problem.
>
> Jim
> ________________________________________
> From: [email protected] [mailto:[email protected]] On Behalf Of
> [email protected]
> Sent: Saturday, December 05, 2009 9:28 AM
> To: RBASE-L Mailing List
> Subject: [RBASE-L] - Re: I/O PROBLEMS WITH SIMPLE VIEWS
>
> If a single-table view has an "order by", that also makes it not editable.
> I agree with others -- something in your view makes it not-editable.
> Maybe post your view syntax.
>
> Karen
>
>
> Jim,
> Just because a view is a single table view does not automatically make it
> updateable. If for example it contains a GROUP BY statement then it is NOT
> updateable. There are other syntax elements that might make a single table
> view un-updateable.
>
>
>

Reply via email to