2015-05-18 6 views
1

Как проверить, есть ли одна запись в активной записи? я могу сделатьКак проверить базу данных, если она имеет ровно одну запись?

@items.count == 1 

, но в последнее время я заметил, что занимает 90 мс, тогда как другие запросы принимают 20мс. Иногда метод подсчета для некоторых вещей занимает много времени. Итак, есть метод, который проверяет только 1?

@items.only_one_exist? 
+1

Это может быть быстрее, '@ items.count_by_sql (SELECT * FROM [table] LIMIT 2)' Он либо выберет 1 или 2 (или 0), либо получит результат быстрее, чем фактически подсчитывает все. – Clark

+2

Фактически '@ items.take (2) .count' - это то, что вы должны использовать, как только вы уже получили свои результаты. – Clark

+0

Итак, я попробовал взять (2) sql выглядит одинаково. Существует также предел (2). Я лучше, чем лучше – sonnyhe2002

ответ

0

count метод, как у вас есть это единственный путь, и да - это займет обычно занимает гораздо больше времени, чем выбрать, потому что есть больше шагов, участвующих в расчете, что общее количество.

+0

Можете ли вы подробнее остановиться на этом? –

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