I have now tested this after doing away with Spatialite, as I couldn't get that to work with SQLCipher 1.6.
(see this thread:
https://www.b4x.com/android/forum/threads/new-sqlcipher-4-with-spatialite.103768/)
Running this SQL:
pragma cipher_memory_security = OFF
Did indeed make a big difference, and not only on non-select SQL, eg with this SQL:
WITH RECURSIVE input(sud) AS(VALUES('53..7....6..1.5....98....6.8...6...34..8.3..17...2...6.6....2.....4.9..5....8..79')), digits(z, lp) AS(VALUES('1', 1) UNION ALL SELECT CAST(lp + 1 AS TEXT), lp + 1 FROM digits WHERE lp < 9), x(s, ind) AS (SELECT sud, instr(sud, '.') FROM input UNION ALL SELECT substr(s, 1, ind - 1) || z || substr(s, ind + 1), instr(substr(s, 1, ind - 1) || z || substr(s, ind + 1), '.') FROM x, digits AS z WHERE ind > 0 AND NOT EXISTS(SELECT 1 FROM digits AS lp WHERE z.z = substr(s,((ind - 1) / 9) * 9 + lp, 1) OR z.z = substr(s,((ind - 1) %9) +(lp - 1) * 9 + 1, 1) OR z.z = substr(s,(((ind - 1)/3) % 3) * 3 +((ind - 1) / 27) * 27 + lp +((lp - 1) / 3) * 6, 1))) SELECT S as Solution FROM x WHERE ind = 0 order by s asc
Before running the above pragma it took some 7 seconds and after running that pragma some 0.66 seconds.
This is on a Samsung S9, encrypted database with SQLCipher 1.6.
RBS