I would like us to understand the write patterns of Sqlite. . That write pattern happens first to the journal then to the database. I found a lot of 4 byte writes.
What are these 4 byte writes and can the be avoided? I would also like data on the write patterns for a 1k,2k,128k, and 256k writes to a database. Is there some flags we can set in Sqlite to less these writes? below is the write log of 3.5.9 [pid 3452] lseek(54, 0, SEEK_SET) = 0 [pid 3452] write(54, "??\5? ?c?\0\0\0\0iܷ?\0\0\4?\0\0\2\0\0\0\10\0ttac"..., 512) = 512 [pid 3452] lseek(54, 512, SEEK_SET) = 512 [pid 3452] write(54, "\0\0\0\7", 4) = 4 [pid 3452] lseek(54, 516, SEEK_SET) = 516 [pid 3452] write(54, "\n\0\0\0\22\6K\0\7\227\7q\7E\6?\7?\6?\7?\6?\7?\7$\6K\6"..., 1024) = 1024 [pid 3452] lseek(54, 2564, SEEK_SET) = 2564 [pid 3452] write(54, "iܸ?", 4) = 4 [pid 3452] lseek(54, 2568, SEEK_SET) = 2568 [pid 3452] write(54, "\0\0\0\6", 4) = 4 [pid 3452] lseek(54, 2572, SEEK_SET) = 2572 [pid 3452] write(54, "\r\7\212\0\22\4C\2\7?\7r\0070\6?\6?\6\234\6l\7`\6Q\4?\7"..., 1024) = 1024 [pid 3452] lseek(54, 4620, SEEK_SET) = 4620 [pid 3452] write(54, "iܹ=", 4) = 4 [pid 3452] lseek(54, 4624, SEEK_SET) = 4624 [pid 3452] write(54, "\0\0\0\1", 4) = 4 [pid 3452] lseek(54, 4628, SEEK_SET) = 4628 [pid 3452] write(54, "SQLite format 3\0\10\0\1\1\0@ \0\0\6\r\0\0\0\0"..., 1024) = 1024 [pid 3452] lseek(54, 6676, SEEK_SET) = 6676 [pid 3452] write(54, "iܷ?", 4) = 4 [pid 3452] close(55) = 0 [pid 3452] lseek(54, 8, SEEK_SET) = 8 [pid 3452] write(54, "\0\0\0\3", 4) = 4 [pid 3452] lseek(29, 0, SEEK_SET) = 0 [pid 3452] write(29, "SQLite format 3\0\10\0\1\1\0@ \0\0\6\16\0\0\0\0"..., 1024) = 1024 [pid 3452] lseek(29, 10240, SEEK_SET) = 10240 [pid 3452] write(29, "\r\7\212\0\22\4C\2\7?\7r\0070\6?\6?\6\234\6l\7`\6Q\4?\7"..., 1024) = 1024 [pid 3452] lseek(29, 12288, SEEK_SET) = 12288 [pid 3452] write(29, "\n\0\0\0\22\6K\0\7\227\7q\7E\6?\7?\6?\7?\6?\7?\7$\6K\6"..., 1024) = 1024 [pid 3452] close(54) = 0 [pid 3452] lseek(29, 24, SEEK_SET) = 24 for 3.6: [pid 211] open("/data/data/com.google.android.providers.gmail/databases/[EMAIL PROTECTED]", O_RDWR|O_CREAT|O_EXCL|O_LARGEFILE|O_NOFOLLOW, 0644) = 55 [pid 211] open("/data/data/com.google.android.providers.gmail/databases", O_RDONLY|O_LARGEFILE) = 56 [pid 211] lseek(55, 0, SEEK_SET) = 0 [pid 211] write(55, "ÙÕ\5ù ¡c×\0\0\0\0\221FßÈ\0\0\2~\0\0\2\0\0\0\4\0\0\0\0\0"..., 512) = 512 [pid 211] open("/dev/ashmem", O_RDWR|O_LARGEFILE) = 58 [pid 211] close(58) = 0 [pid 211] open("/dev/ashmem", O_RDWR|O_LARGEFILE) = 58 [pid 211] close(58) = 0 [pid 211] open("/dev/ashmem", O_RDWR|O_LARGEFILE) = 58 [pid 211] close(58) = 0 [pid 211] writev(3, [{"\3", 1}, {"gmail-ls\0", 9}, {"Starting purging messages. Oldes"..., 78}], 3) = 88 [pid 211] open("/dev/ashmem", O_RDWR|O_LARGEFILE) = 58 [pid 211] writev(3, [{"\3", 1}, {"gmail-ls\0", 9}, {"Finished purging messages \0", 27}], 3) = 37 [pid 211] close(58) = 0 [pid 211] close(56) = 0 [pid 211] close(55) = 0 [pid 211] lseek(39, 24, SEEK_SET) = 24 [pid 211] open("/dev/ashmem", O_RDWR|O_LARGEFILE) = 55 [pid 211] lseek(39, 24, SEEK_SET) = 24 [pid 211] close(55) = 0 [pid 211] writev(3, [{"\3", 1}, {"gmail-ls\0", 9}, {"considering sending notification"..., 102}], 3) = 112 [pid 211] lseek(39, 24, SEEK_SET) = 24 [pid 211] open("/data/data/com.google.android.providers.gmail/databases/[EMAIL PROTECTED]", O_RDWR|O_CREAT|O_EXCL|O_LARGEFILE|O_NOFOLLOW, 0644) = 55 [pid 211] open("/data/data/com.google.android.providers.gmail/databases", O_RDONLY|O_LARGEFILE) = 56 [pid 211] lseek(55, 0, SEEK_SET) = 0 [pid 211] write(55, "ÙÕ\5ù ¡c×\0\0\0\0É\25á?\0\0\2~\0\0\2\0\0\0\4\0\0\0\0\0"..., 512) = 512 [pid 211] lseek(55, 512, SEEK_SET) = 512 [pid 211] write(55, "\0\0\0\17", 4) = 4 [pid 211] lseek(55, 516, SEEK_SET) = 516 [pid 211] write(55, "\n\0\0\0\2\3Å\0\3â\3Å\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1024) = 1024 [pid 211] lseek(55, 1540, SEEK_SET) = 1540 [pid 211] write(55, "É\25á?", 4) = 4 [pid 211] lseek(55, 1544, SEEK_SET) = 1544 [pid 211] write(55, "\0\0\0\16", 4) = 4 [pid 211] lseek(55, 1548, SEEK_SET) = 1548 [pid 211] write(55, "\r\0\0\0\2\3¾\0\3à\3¾\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1024) = 1024 [pid 211] lseek(55, 2572, SEEK_SET) = 2572 [pid 211] write(55, "É\25á?", 4) = 4 [pid 211] lseek(55, 2576, SEEK_SET) = 2576 [pid 211] write(55, "\0\0\0\1", 4) = 4 [pid 211] lseek(55, 2580, SEEK_SET) = 2580 [pid 211] write(55, "SQLite format 3\0\4\0\1\1\0@ \0\0\34t\0\0\0\0"..., 1024) = 1024 [pid 211] lseek(55, 3604, SEEK_SET) = 3604 [pid 211] write(55, "É\25á?", 4) = 4 [pid 211] close(56) = 0 [pid 211] lseek(55, 8, SEEK_SET) = 8 [pid 211] write(55, "\0\0\0\3", 4) = 4 [pid 211] lseek(39, 0, SEEK_SET) = 0 [pid 211] write(39, "SQLite format 3\0\4\0\1\1\0@ \0\0\34u\0\0\0\0"..., 1024) = 1024 [pid 211] lseek(39, 13312, SEEK_SET) = 13312 [pid 211] write(39, "\r\0\0\0\2\3¾\0\3¾\3à\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1024) = 1024 [pid 211] lseek(39, 14336, SEEK_SET) = 14336 [pid 211] write(39, "\n\0\0\0\2\3Å\0\3â\3Å\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1024) = 1024 [pid 211] close(55) = 0 [pid 211] open("/dev/ashmem", O_RDWR|O_LARGEFILE) = 55 [pid 211] lseek(39, 24, SEEK_SET) = 24 [pid 211] close(55) = 0 [pid 211] writev(3, [{"\3", 1}, {"gmail-ls\0", 9}, {"considering sending notification"..., 107}], 3) = 117 [pid 211] lseek(39, 24, SEEK_SET) = 24 [pid 211] open("/data/data/com.google.android.providers.gmail/databases/[EMAIL PROTECTED]", O_RDWR|O_CREAT|O_EXCL|O_LARGEFILE|O_NOFOLLOW, 0644) = 55 [pid 211] open("/data/data/com.google.android.providers.gmail/databases", O_RDONLY|O_LARGEFILE) = 56 [pid 211] lseek(55, 0, SEEK_SET) = 0 [pid 211] write(55, "ÙÕ\5ù ¡c×\0\0\0\0\210\213é\r\0\0\2~\0\0\2\0\0\0\4\0\0\0"..., 512) = 512 [pid 211] lseek(55, 512, SEEK_SET) = 512 [pid 211] write(55, "\0\0\0\17", 4) = 4 [pid 211] lseek(55, 516, SEEK_SET) = 516 [pid 211] write(55, "\n\0\0\0\2\3Å\0\3â\3Å\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1024) = 1024 [pid 211] lseek(55, 1540, SEEK_SET) = 1540 [pid 211] write(55, "\210\213é\r", 4) = 4 [pid 211] lseek(55, 1544, SEEK_SET) = 1544 [pid 211] write(55, "\0\0\0\16", 4) = 4 [pid 211] lseek(55, 1548, SEEK_SET) = 1548 [pid 211] write(55, "\r\0\0\0\2\3¾\0\3¾\3à\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1024) = 1024 [pid 211] lseek(55, 2572, SEEK_SET) = 2572 [pid 211] write(55, "\210\213é\r", 4) = 4 [pid 211] lseek(55, 2576, SEEK_SET) = 2576 [pid 211] write(55, "\0\0\0\1", 4) = 4 [pid 211] lseek(55, 2580, SEEK_SET) = 2580 [pid 211] write(55, "SQLite format 3\0\4\0\1\1\0@ \0\0\34u\0\0\0\0"..., 1024) = 1024 [pid 211] lseek(55, 3604, SEEK_SET) = 3604 [pid 211] write(55, "\210\213é\r", 4) = 4 [pid 211] close(56) = 0 [pid 211] lseek(55, 8, SEEK_SET) = 8 [pid 211] write(55, "\0\0\0\3", 4) = 4 [pid 211] lseek(39, 0, SEEK_SET) = 0 [pid 211] write(39, "SQLite format 3\0\4\0\1\1\0@ \0\0\34v\0\0\0\0"..., 1024) = 1024 [pid 211] lseek(39, 13312, SEEK_SET) = 13312 [pid 211] write(39, "\r\0\0\0\2\3¾\0\3à\3¾\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1024) = 1024 [pid 211] lseek(39, 14336, SEEK_SET) = 14336 [pid 211] write(39, "\n\0\0\0\2\3Å\0\3â\3Å\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1024) = 1024 [pid 211] close(55) = 0 [pid 211] open("/proc/199/stat", O_RDONLY|O_LARGEFILE) = 55 [pid 211] writev(5, [{"·\n\0\0", 4}, {"\3\4\2\10\0\0\0gmail-ls\1\0\0\0\0\0\0\0\0\1\0\0\0\0\0\0"..., 41}], 2) = 45 [pid 203] open("/dev/ashmem", O_RDWR|O_LARGEFILE) = 56 [pid 203] lseek(46, 24, SEEK_SET) = 24 [pid 203] close(56) = 0 [pid 204] lseek(46, 24, SEEK_SET) = 24 [pid 218] lseek(46, 24, SEEK_SET) = 24 [pid 218] lseek(46, 24, SEEK_SET) = 24 [pid 219] lseek(46, 24, SEEK_SET) = 24 [pid 200] writev(5, [{"\"N\0\0", 4}, {"\3", 1}, {"\2\0\0`\10\0\0\0À\3\0", 11}], 3) = 16 [pid 199] writev(5, [{"µ\n\0\0", 4}, {"\2\2\0\0\0bg\n", 8}], 2) = 12 [pid 199] open("/dev/ashmem", O_RDWR|O_LARGEFILE) = 56 [pid 199] close(56) = 0 [pid 199] open("/dev/ashmem", O_RDWR|O_LARGEFILE) = 56 [pid 199] close(56) = 0 [pid 199] open("/dev/ashmem", O_RDWR|O_LARGEFILE) = 56 [pid 199] close(56) = 0 [pid 199] open("/dev/ashmem", O_RDWR|O_LARGEFILE) = 56 [pid 199] close(56) = 0 [pid 199] writev(3, [{"\3", 1}, {"dalvikvm\0", 9}, {"GC freed 1141 objects / 59648 by"..., 46}], 3) = 56 [pid 199] writev(5, [{"!N\0\0", 4}, {"\3", 1}, {"\4\1é\224\nsppag\1\'hL9\210\203G\202\1\204·G \10\202FÈ"..., 37}], 3) = 42 [pid 200] close(55) = 0 [pid 203] open("/dev/ashmem", O_RDWR|O_LARGEFILE) = 55 [pid 203] lseek(46, 24, SEEK_SET) = 24 [pid 203] close(55) = 0 [pid 204] lseek(46, 24, SEEK_SET) = 24 [pid 200] writev(5, [{"\"N\0\0", 4}, {"\3", 1}, {"\2\0\0\200\10\0\0\0À\3\0", 11}], 3) = 16 [pid 218] open("/dev/ashmem", O_RDWR|O_LARGEFILE) = 55 [pid 218] lseek(46, 24, SEEK_SET) = 24 [pid 218] close(55) = 0 [pid 219] lseek(46, 24, SEEK_SET) = 24 [pid 218] open("/dev/ashmem", O_RDWR|O_LARGEFILE) = 55 [pid 218] lseek(46, 24, SEEK_SET) = 24 [pid 218] close(55) = 0 [pid 219] lseek(46, 24, SEEK_SET) = 24 [pid 199] writev(5, [{"µ\n\0\0", 4}, {"\2\2\0\0\0bg\n", 8}], 2) = 12 [pid 199] open("/dev/ashmem", O_RDWR|O_LARGEFILE) = 55 [pid 199] close(55) = 0 [pid 199] open("/dev/ashmem", O_RDWR|O_LARGEFILE) = 55 [pid 199] close(55) = 0 [pid 199] open("/dev/ashmem", O_RDWR|O_LARGEFILE) = 55 [pid 199] close(55) = 0 [pid 199] open("/dev/ashmem", O_RDWR|O_LARGEFILE) = 55 [pid 199] close(55) = 0 [pid 199] writev(3, [{"\3", 1}, {"dalvikvm\0", 9}, {"GC freed 303 objects / 23536 byt"..., 45}], 3) = 55 [pid 199] writev(5, [{"!N\0\0", 4}, {"\3", 1}, {"\4\1\\\24\vsppag\1\'XL8\210\203/\201\1\204·G \10\202FÈ"..., 37}], 3) = 42 [pid 200] writev(5, [{"\"N\0\0", 4}, {"\3", 1}, {"\2\0\0\220\10\0\0\0À\3\0", 11}], 3) = 16 both has a lot 4 bytes write. _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users