Subject Re: [ib-support] %100 CPU usage with interbase, is it usual?
Author David K. Trudgett
On Saturday 2001-12-29 at 09:03:32 +0000, lester a lsces punto co punto uk wrote:

> > >I have only one table, 3 field, and 1.000.000 record txt file, I
> > >read data from txt file with a while loop using IBODatabase, IBOQuery,
> > >IB_Script, first delete all the record, and then read the data one by one.
> > >insert into GDB and then post. thats all. PIII 650 my computer is, 192 RAM,
> > >WinNT
> >
> > Kursat:
> > You must provide more information!
>
> We probably need to take this to the IBO list, but in

Does Kursat know how to sign up for this? If not, he(?) could try sending
email to ibobjects-subscribe@yahoogroups.com


> general the problems of getting newcomers working the
> correct way is always going to happen.
>
> Kursat's problem has been being discussed for some time in
> various threads, most of the information on what he is

Thought he just brought it up yesterday...


> trying to do has already been posted, so his NOT repeating
> it is probably good netiquet. What he is doing is

I would tend to disagree, especially in the general case. Not giving
enough information is counter-productive and also wastes the time of
those trying to help out, since advice given is more likely not be
applicable to the situation. Within reason, the greater the quantity
of relevant information a poster can include about his problem, the
more likely a fast, succinct answer will surface.

Obviously, in this particular case, the poster's native language is
not English, so that was probably a contributing factor towards the
terseness and lack of information.

Also, in this particular case, just enough information appears to have
surfaced (over several posts) for someone to take a reasonable stab at
some good advice or troubleshooting. However, in my mind, he still
needs to spell out more exactly what he is doing, unless the answers
thus far have given him enough clues about how to proceed. As you
mention, though, it's starting to look like an IBO-related query
(excuse the pun).


> implementing bits and pieces he has been told to so far. He
> now has a working system, but it is slow. So the question is
> - is it naturally slow because of the problem and hardware?
> or can it be improved.

All of the above?? :-)


>
> >From the IBO perspective, a nice sample for bulk import of
> raw data could be useful. I think most of what is required
> already exists in the samples. Yes - processing the raw data
> could help, but MY first problem would be HOW, which is
> what, as a newcommer, he has been asking. Then working with
> the samples be has got to the point where he can ( from a
> standing start of not even knowing Delphi ) do what HE

He didn't mention that he's only just learning Delphi, or any other
programming language, or SQL, for that matter. You must have the
benefit of knowledge gained outside the current thread, which other
posters don't have.

All I know is that he said he wasn't a professional programmer. When I
wasn't a professional programmer, I could program in 8086/8088
Assembler, FORTRAN, COBOL, BASIC, Pascal, a tiny bit of Forth, and a tiny
bit of 6502 Assembler (on a Commodore 64, may it rest in peace).


> want's to do.
>
> So back to the problem.
>
> I know ABOUT perl (after 30 years programming), but I don't
> know where to get it or how to use it !! So how does Kursat
> ???

He didn't say he can't program in Perl. Even if he is a newcomer to
Delphi and/or InterBase and/or SQL RDBMSs, that doesn't imply he is
(a) stupid; (b) ignorant or inexperienced in other programming
languages (I personally know, in "real life", several people who can
program but who aren't professional programmers); or (c) isn't
interested in knowing about a technology that could make his life a
lot easier in the future (i.e. Perl in this case).

By the way, if you've been programming for 30 years, it's time to
learn Perl! ;-) It's hard to imagine that it couldn't save you
thousands of hours of work, like it has for me over just the last two
years (and it has done that for me as a helper language, and not even
as my main programming language).


>
> I have not succeeded in getting External tables doing this
> sort of processing,

That's surprising, I didn't think they were difficult. Of course, they
do have their limitations, but they seem to serve their intended
purpose quite well.


> so reading a record and inserting it
> seems sensible to me,

Nobody said it wasn't sensible, but it's not the fastest way to insert
a million rows into a database table when you already have the data in
an external text file. Of course, his original query sounded like he
wanted to know the slowest way to insert a million records so as not
to max out the processor... :-) Another thing he never mentioned was
whether the server and client are running on the same or different
machines... another piece of the puzzle to guess at (it's not too hard
to guess, but it's still a guess).


>at which point Helen's other
> suggestions come into play. We had not got the datapump
> working because the data is variable, but we are probably
> looking to the fast insert of three values read from a file
> and inserted via an IB_DSQL or even a stored procedure.
>
> Pointers please because I could not find them - I had a late
> night none computer related <g>

Good for you! ;-) How was it?


Cheers,

David Trudgett