When to use flowable?

We are trying to implement a shared task management solution (only API’s not the UI part) in my organization, where users of various applications will be able to create a task, get a list of tasks (based on some parameters, For example give me tasks of a user in application A) and delete some tasks.

I did some research online and i stumbled across flowable.
After going through the documentation i started writing some wrapper’s around flowable-rest API. In this process, For creating a task i used post /runtime/tasks to store the basic task information and post /runtime/tasks/{taskId}/variables to add some application and solution specific information.

While retrieving tasks based on application specific parameters i can see a significant amount of delay.

As i looked in the database all the variables are stored as rows. So i assumed this may be the reason for the delay

Can anyone suggest me, what is the better way to store application and solution specific information.

Please let me know if i am using flowable REST API in the wrong way.

Thanks in advance