Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 8 of 8 total
Thread Create Index
Fri, Aug 29 2008 11:31 AMPermanent Link

"Jianfei Xu"
Hi, I would like to rebuild all tables locally using Create Table and Create
Index. One table with couple of fields indexed.
I find each time create index takes time. Is there any better way to create
index for table rather than create index one by one.

We will rebuild hundreds of local tables, it takes long time.

Thanks

Fri, Aug 29 2008 1:29 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Jianfei,

<< Hi, I would like to rebuild all tables locally using Create Table and
Create Index. One table with couple of fields indexed. I find each time
create index takes time. Is there any better way to create index for table
rather than create index one by one. >>

No, you have to create indexes using the CREATE INDEX statement.  The reason
that it may take a while is that EDB must flush the database catalog to disk
for each DDL statement in order to ensure the ability to recover the
database catalog from a write failure while the DDL statement executes.

--
Tim Young
Elevate Software
www.elevatesoft.com

Thu, Sep 4 2008 11:07 PMPermanent Link

"Jianfei Xu"
I have 250 tables to rebuild locally, It takes 30+ minutes. most time is
creation of index.

Is there any way I can create all index at once, rather than create one by
one.


Jianfei

"Tim Young [Elevate Software]" <timyoung@elevatesoft.com> wrote in message
news:37C0413C-BB65-4F7B-AD72-739E8004ECBE@news.elevatesoft.com...
> Jianfei,
>
> << Hi, I would like to rebuild all tables locally using Create Table and
> Create Index. One table with couple of fields indexed. I find each time
> create index takes time. Is there any better way to create index for table
> rather than create index one by one. >>
>
> No, you have to create indexes using the CREATE INDEX statement.  The
> reason that it may take a while is that EDB must flush the database
> catalog to disk for each DDL statement in order to ensure the ability to
> recover the database catalog from a write failure while the DDL statement
> executes.
>
> --
> Tim Young
> Elevate Software
> www.elevatesoft.com
>

Fri, Sep 5 2008 11:23 AMPermanent Link

"Jianfei Xu"
Hi, Tim

As a suggestion, Include create index statement inside of create table
statement, this way, we can create all index in one shot.

Jianfei



"Tim Young [Elevate Software]" <timyoung@elevatesoft.com> wrote in message
news:37C0413C-BB65-4F7B-AD72-739E8004ECBE@news.elevatesoft.com...
> Jianfei,
>
> << Hi, I would like to rebuild all tables locally using Create Table and
> Create Index. One table with couple of fields indexed. I find each time
> create index takes time. Is there any better way to create index for table
> rather than create index one by one. >>
>
> No, you have to create indexes using the CREATE INDEX statement.  The
> reason that it may take a while is that EDB must flush the database
> catalog to disk for each DDL statement in order to ensure the ability to
> recover the database catalog from a write failure while the DDL statement
> executes.
>
> --
> Tim Young
> Elevate Software
> www.elevatesoft.com
>

Fri, Sep 5 2008 1:09 PMPermanent Link

Roy Lambert

NLH Associates

Team Elevate Team Elevate

Jianfei


What are you actually doing? Is it migrating a table from DBISAM to ElevateDB or something totally different?

Roy Lambert [Team Elevate]
Fri, Sep 5 2008 2:09 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Jianfei,

<< I have 250 tables to rebuild locally, It takes 30+ minutes. most time is
creation of index. >>

How often does this need to be executed ?

<< Is there any way I can create all index at once, rather than create one
by one. >>

No, it's a one-by-one process for now.  We have an enhancement for 2.x on
our list to allow for DDL transactions or to allow for databases to be
opened exclusively, and that may help you when it becomes available (please
don't ask me for a date).

--
Tim Young
Elevate Software
www.elevatesoft.com

Fri, Sep 5 2008 7:14 PMPermanent Link

"Jianfei Xu"
It is automatically synchronization between server and local database.

I add new field to table in the server side, then I need application
automatically rebuild local database accordingly.

or when I install local application, the application will rebuild local EDB
totally based on server db structure. Server side is MS SQL.

Jianfei


"Roy Lambert" <roy.lambert@skynet.co.uk> wrote in message
news:0B0D9F0E-99ED-496B-9018-E0D451815F95@news.elevatesoft.com...
> Jianfei
>
>
> What are you actually doing? Is it migrating a table from DBISAM to
> ElevateDB or something totally different?
>
> Roy Lambert [Team Elevate]
>

Sat, Sep 6 2008 9:41 AMPermanent Link

Roy Lambert

NLH Associates

Team Elevate Team Elevate

Jianfei


When adding fields hopefully that won't mean reindexing everything, and quite possibly nothing. When installing I can see 30 min being a bit annoying but the only thing I can suggest is, if all 250 tables aren't required immediately and simultaneously, to set up a background thread to do the indexing whilst the app is underway.

Roy Lambert [Team Elevate]
Image