2013-11-26 1 views
0

У меня есть запрос, который возвращает тысячи записей (в какой-то момент он будет). В этом запросе у меня есть некоторые, как этотЧто быстрее java if else или sql case, когда

Case when column in(:params1) 
then :param2 
when column in (:params3) 
then :param4 
when column in(:params5) 
then :param6 
when column in(:params7) 
then :param8 
END ABC 

Теперь вопрос, что лучше делать это в запросе или возвращает значение столбца и если \ еще делать в POJO? И почему? Я попытался проверить его, но в настоящее время не так много данных.

+0

Можете ли вы объяснить таблицу и показать конкретный запрос? –

+0

Итак, создайте некоторые абсолютно случайные данные! Еще лучше создайте случайные реалистичные данные! –

+0

См. Http://www.itmaybeahack.com/homepage/iblog/architecture/C465799452/E20070322201220/index.html –

ответ

2

Обычно лучше (как из-за производительности, так и сложности), чтобы база данных делала для вас как можно больше работы. Выполнение работы в вашем приложении, скорее всего, приведет к большему сетевому трафику, чем это необходимо (что снизит производительность), и код должен будет содержать всю неприятную логику в нем, что добавит сложности.

Также помните, что avoid premature optimization. Старайтесь избегать проблем с исправлением, которых у вас пока нет.

Я бы рекомендовал, чтобы база данных выполняла работу.

1

Возвращая тысячи записей на средний уровень, действуя на них, и возврат результата обратно в базу данных не имеет для меня никакого смысла. Почему вся эта сеть взад и вперед?

Если вы действительно обрабатываете многие записи, я бы рекомендовал рассмотреть возможность включения базы данных в работу. Нет сетевого трафика.

Если это невозможно, вы должны убедиться, что вам действительно нужны все эти записи. Держу пари, что ты только думаешь, что делаешь.

Написание запросов таким образом кажется другой плохой идеей для меня.

+0

Я думаю, что лучше всего вы это понимаете. Я не возвращаю это на средний уровень, я не возвращаю результаты обратно в базу данных. Я да, я думаю, мне нужны все эти записи. Приложение представляет собой пакет, который собирает записи, которые менялись в течение дня и отправляет их партнеру интерфейса. Поэтому все эти записи необходимы. – Mohamed

+0

Это прекрасно. Я все еще думаю, что это ужасный запрос. – duffymo

+0

Так что, пожалуйста, дайте мне лучшую идею, чем я занимаюсь. Мне нужно получить все записи и распечатать их в файле – Mohamed

Смежные вопросы