Мое приложение спрашивает клиентов об особенностях автомобиля, который они хотят взять в аренду, затем идет в мою базу данных, проводит поиск и возвращает результаты и количество доступных автомобилей на основе цикла.
Мне просто интересно, какой метод правильно реализовать в моем iOS-приложении. В API, который я создал, есть index
функция, чтобы вернуть все автомобили в моей базе данных в стиле JSON.
Вопрос заключается в следующем: должен ли я создать функцию в своем API, которая будет принимать параметры из приложения и цикл в моей базе данных и возвращать результат клиентам?
или же
Должно ли приложение получить индекс в виде JSON и выполнить цикл с помощью swift?
JSON из индекса будет выглядеть примерно так
[
{
"id": 1,
"created_at": "2016-11-13 12:06:02",
"updated_at": "2016-11-13 12:06:02",
"name": “R”,
"age": “12y”,
“plate#”: “43YTR”,
"status": "request",
"appearance": "ok",
“made”: “USA”
},
{
"id": 1,
"created_at": "2016-11-13 12:06:02",
"updated_at": "2016-11-13 12:06:02",
"name": “H_Y”,
"age": “4yt",
“plate#”: “11112JK”,
"status": “coming”,
"appearance": "ok",
“made”: “Korea”
},
]
Ваш вопрос:
Должен ли я создать функцию в моем API, которая будет принимать параметры из приложения и цикл в моей базе данных и возвращать результат клиентам, или приложение должно получить индекс в виде JSON и выполнить цикл с помощью swift?
На этот вопрос нет единого ответа, так как это зависит от ожидаемого размера полного набора данных (JSON), ожидаемого размера результата, количества одновременно работающих пользователей и от того, насколько хорошо ваша база данных разработана с точки зрения индексов.
Если ваш JSON относительно небольшой, или средний размер результата будет составлять значительный процент от всего набора данных, тогда второй вариант выглядит неплохо. Как только общий размер данных становится важным, в то время как ожидаемый размер результата будет ограниченным, станет более полезным позволить базе данных выполнять свою работу и перейти к первому варианту.
Это приведет к уменьшению трафика клиент-сервер, а также, как правило, механизмы баз данных хорошо реагируют на запросы данных с использованием индексов и механизмов кэширования. Это будет трудно победить со вторым вариантом.
Других решений пока нет …