Below are some recommendation/views for working with List data in thousands
- SharePoint List can hold millions of records, it does not limit as such(don't have exact count).
- To avoid performance issue, they have enforce threshold value of 5000(can be changed from central admin/powershell) for querying list items one at time.
- This threshold limit is for querying data, it means your caml query should not return items more than 5000 in single query.
- You should design your list/pages so that display data based on filters applied on column/s.
- Columns used in filters should be indexed, index can only be created before list reach threshold limts.
- If you have multiple filters in your caml query, make sure first column passed in filter does not return more than 5000.
As you would be using client side code, it is always recommended to get data only which are required to display on initial page load. Do not get all data as it does not make sense that you display 1000 of records, user anyway is not going to see all the data at once. you can query your data in batch and apply pagination. This will make sure you are querying minimum data and page does not have overhead to process unnecessary data and render on page.
Provide some filters for users to select so that you can use this filters to get only required data. This will totally depend on your business use case.
You can also dump our data into json object for processing, there are some pre-defined funcitons available which can convert spservices response to json.
Try to avoid looping through 1000 of records, though client side it would be faster but still it is a overhad.
Hope this helps...