Answers

Question and Answer:

  Home  Sybase

⟩ Would RPC or CT-Lib be better/faster?

A netter responded stating that it was faster to ditch their algorithm and to apply a set based strategy:

The way to take your approach is to convert the row at a time processing (which is more traditional type of thinking) into a batch at a time (which is more relational type of thinking). Now I'm not trying to insult you to say that you suck or anything like that, we just need to dial you in to think in relational terms.

The idea is to do batches (or bundles) of rows rather than processing a single one at a time.

So let's take your example (since you didn't give exact values [probably out of kindness to save my eyeballs] I'll use your generic example to extend what I'm talking about):

Before:

if exists (select record) then

update record

else

insert record

New way:

1. Load all your rows into a table named new_stuff in a separate work database (call it work_db) and load it using bcp -- no third GL needed.

1. truncate new_stuff and drop all indexes

2. sort your data using UNIX sort and sort it by the clustered columns

3. load it using bcp

4. create clustered index using with sorted_data and any ancillary non-clustered index.

 122 views

More Questions for you: