Когда вы пишете такой запрос,
update("SELECT * FROM TABLE WHERE COLUMN = " + x,);
вместо этого,
update("SELECT * FROM TABLE WHERE COLUMN = ?", x);
Первый запрос не получает преимуществ от предварительной компиляции запроса.
Вместо когда вы используете?в запросе, скажем, рабочий запрос выполняется от сотен до тысяч и миллионов раз, предварительно скомпилированный запрос (запрос, который содержит?) снова и снова используется снова и снова, избегая повторной компиляции запроса, и это явление делает его намного лучшес точки зрения производительности, чем запрос, содержащий жестко закодированные данные.
Поскольку запрос содержит жестко закодированные данные, это делает запрос разным каждый раз, потому что жестко закодированные данные в большинстве случаев будут меняться в зависимости от запроса, что требует компиляции запроса при каждом выполненииснижение производительности.
Но если вам просто нужно выполнить запрос несколько раз, вы не получите существенного прироста производительности.