OLD | NEW |
1 # 2007 May 17 | 1 # 2007 May 17 |
2 # | 2 # |
3 # The author disclaims copyright to this source code. In place of | 3 # The author disclaims copyright to this source code. In place of |
4 # a legal notice, here is a blessing: | 4 # a legal notice, here is a blessing: |
5 # | 5 # |
6 # May you do good and not evil. | 6 # May you do good and not evil. |
7 # May you find forgiveness for yourself and forgive others. | 7 # May you find forgiveness for yourself and forgive others. |
8 # May you share freely, never taking more than you give. | 8 # May you share freely, never taking more than you give. |
9 # | 9 # |
10 #************************************************************************* | 10 #************************************************************************* |
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
98 db_enter db | 98 db_enter db |
99 array set stats1 [btree_pager_stats [btree_from_db db]] | 99 array set stats1 [btree_pager_stats [btree_from_db db]] |
100 array set stats2 [btree_pager_stats [btree_from_db db 2]] | 100 array set stats2 [btree_pager_stats [btree_from_db db 2]] |
101 db_leave db | 101 db_leave db |
102 # puts "1: [array get stats1]" | 102 # puts "1: [array get stats1]" |
103 # puts "2: [array get stats2]" | 103 # puts "2: [array get stats2]" |
104 puts "Incrvacuum: Read $stats1(read), wrote $stats1(write)" | 104 puts "Incrvacuum: Read $stats1(read), wrote $stats1(write)" |
105 puts "Normal : Read $stats2(read), wrote $stats2(write)" | 105 puts "Normal : Read $stats2(read), wrote $stats2(write)" |
106 } | 106 } |
107 | 107 |
108 proc reset_db {} { | 108 proc speed3_reset_db {} { |
109 db close | 109 db close |
110 sqlite3 db test.db | 110 sqlite3 db test.db |
111 db eval { | 111 db eval { |
112 PRAGMA main.cache_size = 200000; | 112 PRAGMA main.cache_size = 200000; |
113 PRAGMA main.auto_vacuum = 'incremental'; | 113 PRAGMA main.auto_vacuum = 'incremental'; |
114 ATTACH 'test2.db' AS 'aux'; | 114 ATTACH 'test2.db' AS 'aux'; |
115 PRAGMA aux.auto_vacuum = 'none'; | 115 PRAGMA aux.auto_vacuum = 'none'; |
116 } | 116 } |
117 } | 117 } |
118 | 118 |
119 forcedelete test2.db test2.db-journal | 119 forcedelete test2.db test2.db-journal |
120 reset_db | 120 speed3_reset_db |
121 | 121 |
122 # Set up a database in auto-vacuum mode and create a database schema. | 122 # Set up a database in auto-vacuum mode and create a database schema. |
123 # | 123 # |
124 do_test speed3-0.1 { | 124 do_test speed3-0.1 { |
125 execsql { | 125 execsql { |
126 CREATE TABLE main.t1(a INTEGER, b TEXT, c INTEGER); | 126 CREATE TABLE main.t1(a INTEGER, b TEXT, c INTEGER); |
127 } | 127 } |
128 execsql { | 128 execsql { |
129 SELECT name FROM sqlite_master ORDER BY 1; | 129 SELECT name FROM sqlite_master ORDER BY 1; |
130 } | 130 } |
(...skipping 16 matching lines...) Expand all Loading... |
147 do_test speed3-0.4 { | 147 do_test speed3-0.4 { |
148 execsql { | 148 execsql { |
149 PRAGMA main.auto_vacuum; | 149 PRAGMA main.auto_vacuum; |
150 PRAGMA aux.auto_vacuum; | 150 PRAGMA aux.auto_vacuum; |
151 } | 151 } |
152 } {2 0} | 152 } {2 0} |
153 | 153 |
154 # Delete all content in a table, one row at a time. | 154 # Delete all content in a table, one row at a time. |
155 # | 155 # |
156 #io_log db | 156 #io_log db |
157 reset_db | 157 speed3_reset_db |
158 speed_trial speed3-1.incrvacuum $::NROW row {DELETE FROM main.t1 WHERE 1} | 158 speed_trial speed3-1.incrvacuum $::NROW row {DELETE FROM main.t1 WHERE 1} |
159 speed_trial speed3-1.normal $::NROW row {DELETE FROM aux.t1 WHERE 1} | 159 speed_trial speed3-1.normal $::NROW row {DELETE FROM aux.t1 WHERE 1} |
160 io_log db | 160 io_log db |
161 | 161 |
162 # Select the "C" column (located at the far end of the overflow | 162 # Select the "C" column (located at the far end of the overflow |
163 # chain) from each table row. | 163 # chain) from each table row. |
164 # | 164 # |
165 #db eval {PRAGMA incremental_vacuum(500000)} | 165 #db eval {PRAGMA incremental_vacuum(500000)} |
166 populate_t1 db | 166 populate_t1 db |
167 reset_db | 167 speed3_reset_db |
168 speed_trial speed3-2.incrvacuum $::NROW row {SELECT c FROM main.t1} | 168 speed_trial speed3-2.incrvacuum $::NROW row {SELECT c FROM main.t1} |
169 speed_trial speed3-2.normal $::NROW row {SELECT c FROM aux.t1} | 169 speed_trial speed3-2.normal $::NROW row {SELECT c FROM aux.t1} |
170 io_log db | 170 io_log db |
171 | 171 |
172 finish_test | 172 finish_test |
OLD | NEW |