ОБНОВЛЕНИЕ SQLite, ГДЕ производительность

#android #database #performance #android-sqlite #android-room

#Android #База данных #Производительность #android-sqlite #android-комната

Вопрос:

Допустим, у меня есть следующая таблица DB с именем LogTable

 id  name  show
O    A    false
1    B    true
2    C    true
  

Эта таблица может легко содержать до 100 тыс. записей. Теперь я хочу обновить все записи, чтобы они содержали show значение столбца как true . Моя первая попытка была:

 @Query("UPDATE LogTable SET `show` = $FALSE WHERE `show` = $TRUE")
  

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

  @Query("UPDATE LogTable SET `show` = $FALSE)
  

И, к моему большому удивлению, это работает лучше, независимо от того, какие данные я издеваюсь. По крайней мере, я подумал, что, когда у нас будет больше, show = FALSE предложение query with WHERE будет лучше с точки зрения производительности.

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