rawQuery Vs. database.query

Есть ли у них какие-либо преимущества в использовании rawQuery по сравнению с Query Builder (или наоборот)?

Защищает ли, например, Query Builder от атак SQL-инъекций (хотя это не такая большая проблема, как с веб-сайтами, SQL-инъекция + поставщик контента может быть проблемой)? или один быстрее другого?

Я довольно доволен SQL (достаточно для того, что мне нужно делать в любом случае), и поэтому я склоняюсь к rawQuery (я могу читать исходный код проще), но мне просто интересно, если я что-то упустил, что может быть полезно.

2 ответа

Решение

Определенно предпочтительнее построить запрос с помощью предоставленных методов. Он не только защищает вас от SQL-инъекций, он также создает запрос для вас, чтобы вы могли избежать целой связки строк, которые сделают строку запроса менее читаемой и более подверженной ошибкам. С точки зрения производительности, я не думаю, что это имеет большое значение.

Читаемость является преимуществом rawQuery. По крайней мере для меня.

Как вы знаете, согласно принципу Парето, разработчик тратит 80% своего времени на чтение кода. Поэтому удобочитаемость является очень сильным аргументом.

Хотя QueryBuilder также предоставляет способ использования заполнителей (защита от SQL-инъекций).

Надеюсь, это поможет.

Другие вопросы по тегам