cancel
Showing results for 
Search instead for 
Did you mean: 

Kapsel/SMP Offline DB Index doesn't work

giuliano_weyl
Explorer
0 Kudos

Hello together,

I'm trying to set an Index on a field in the Kapsel Offline Database. Therefore I followed this guide http://help.sap.com/saphelp_smp305sdk/helpdata/en/f5/a25877c16f4fc384c44fcf0b92dab8/content.htm

I've created a config file which looks like this (Connection name and Namespace are identical😞

[endpoint]

name=Test_Service

indexed_type=Test_Service.Customers: Name

After imported the settings in the SMP I've deleted the app from the device an start a new initial sync.

The problem is that I can't see any differences in performance. I'm also not sure if the indexes are set correctly because the app is running on android without root and I can't access the DB file. On iOS the DB file is also encrypted. Also no informations in the SMP Logfiles.

Any ideas how I can check if the indexes are set correctly? If the indexes are set correctly why does it not improve the perfomance? Any ideas?

Thanks and best regards,

Giuliano

Accepted Solutions (1)

Accepted Solutions (1)

former_member285526
Discoverer
0 Kudos

Hi Giuliano,

We recognized after we implemented the index creation feature that people (customers, testers, etc.) wanted to verify in some way that the index was created successfully.  Right now, the only way to know is if you don't see any warnings in your server log file (when it's creating the remote schema) then the index should be there.

Another consideration is that in some cases, the index creation will not have as great a performance improvement as in other cases.  This is something we're working on improving down the road.

-Paul

giuliano_weyl
Explorer
0 Kudos

Hi Paul,

thanks for your answer. Currently I'm testing with requests like this one:

$filter=indexof(Field1,'Test') gt -1 and endswith(Field1,'abc') eq true&$orderby=Field1&$format=json

against 150.000 database entries. The fields are Strings and the requests tooks 2-3 seconds and there is absolute no difference when I'm using an index on Field1.

Is there any way to open the .udb to check if the index is set correctly? I tried with Sybase Cenrtal but it tolds me that the database was created with a different version. Are there other tips how to improve that kind of requests?

Thanks and best regards,

Giuliano

giuliano_weyl
Explorer
0 Kudos

Hi Paul,

are there any news on this topic?

Today I've tested Kapsel Offline Indices with the newest version of SMP (3.0.8.1) and Kapsel (3.9.2) and   I can't see any differences in performance.

I'm using requests like this:

$filter=startswith(Field1,'abc') eq true&$orderby=Field1&$format=json


against 130.000 entries and every request tooks 2000 - 3000 ms with an index on Field1 and without an index there is no difference.



Thanks and best regards,

Giuliano

former_member285526
Discoverer
0 Kudos

Hi Giuliano,

Sorry for the delay.  We hope to have improvements to the performance when specifying sort/filter properties in the server's SP10 and SDK's SP11 releases.  Work in this area has started but it isn't complete yet.

We have not yet determined the best way to display the created indexes so it's unlikely you'll see anything new in that area for SP10/11.  Sybase (SQL) Central is not really the tool to use for this because it shows SQL and relational data, while what is exposed to the application is OData.

-Paul

Answers (0)