Я не уверен, почему вы должны использовать MediatorLiveData в других местах. На самом деле вы можете использовать MutableLiveData и наблюдать его там, где вы хотите.
Ознакомьтесь с моей реализацией MVVM, чтобы увидеть, как она работает.
Я сказал бы, что = компаратор будет быстрее. Лексическое не отправляет сравнение с другой лексической системой, чтобы сделать общие соответствия. Вместо этого механизм может просто соответствовать или идти дальше. Наш дб на работе имеет миллионы строк, и = всегда быстрее.
В достойном DBMS механизм DB распознал бы, что не было никаких подстановочных символов в строке и неявно не превращают ее в чистое равенство (не обязательно то же как =
). Так, Вы только напали бы на маленькую производительность запуск, обычно незначительный для любого запроса достойного размера.
Однако оператор MySQL =
не обязательно действует способ, которым Вы ожидали бы (как чистая проверка равенства). А именно, это по умолчанию не принимает во внимание конечные пробелы для CHAR
и VARCHAR
данные, означая что:
SELECT age WHERE name = 'pax'
даст Вам строки для 'pax'
, 'pax<one space>'
и 'pax<a hundred spaces>'
.
, Если Вы хотите сделать надлежащий проверка равенства, Вы используете binary
ключевое слово:
SELECT field WHERE name = binary 'pax'
<час> можно протестировать это с чем-то как:
mysql> create table people (name varchar(10));
mysql> insert into people value ('pax');
mysql> insert into people value ('pax ');
mysql> insert into people value ('pax ');
mysql> insert into people value ('pax ');
mysql> insert into people value ('notpax');
mysql> select count(*) from people where name like 'pax';
1
mysql> select count(*) from people where name = 'pax';
4
mysql> select count(*) from people where name = binary 'pax';
1