SQLite index performance degradation tests
.schema
Method
10 iterations of the 500 000 inserts:
uid=randomblob(1)
uid=randomblob(8)
uid=randomblob(16)
uid=hex(randomblob(16))
uid=[clock clicks]
uid="1234567890abcdef"
uid=random()
CREATE TABLE role ( id INTEGER PRIMARY KEY AUTOINCREMENT, uid BLOB ); CREATE INDEX role_uid_idx on role(uid);
Method
10 iterations of the 500 000 inserts:
insert into role (uid) values (uid)
uid=randomblob(1)
$ ./test.tcl 1 7 seconds per iteration 2 7 seconds per iteration 3 7 seconds per iteration 4 7 seconds per iteration 5 7 seconds per iteration 6 7 seconds per iteration 7 7 seconds per iteration 8 7 seconds per iteration 9 7 seconds per iteration 10 7 seconds per iteration
uid=randomblob(8)
$ ./test.tcl 1 7 seconds per iteration 2 8 seconds per iteration 3 9 seconds per iteration 4 10 seconds per iteration 5 11 seconds per iteration 6 12 seconds per iteration 7 13 seconds per iteration 8 13 seconds per iteration 9 14 seconds per iteration 10 15 seconds per iteration
uid=randomblob(16)
$ ./test.tcl 1 7 seconds per iteration 2 10 seconds per iteration 3 12 seconds per iteration 4 14 seconds per iteration 5 18 seconds per iteration 6 44 seconds per iteration 7 118 seconds per iteration 8 206 seconds per iteration 9 215 seconds per iteration 10 404 seconds per iteration
uid=hex(randomblob(16))
$ ./test.tcl 1 9 seconds per iteration 2 12 seconds per iteration 3 23 seconds per iteration 4 139 seconds per iteration 5 280 seconds per iteration 6 501 seconds per iteration 7 632 seconds per iteration 8 779 seconds per iteration 9 898 seconds per iteration 10 957 seconds per iteration
uid=[clock clicks]
$ ./test.tcl 1 7 seconds per iteration 2 7 seconds per iteration 3 7 seconds per iteration 4 7 seconds per iteration 5 7 seconds per iteration 6 7 seconds per iteration 7 7 seconds per iteration 8 7 seconds per iteration 9 7 seconds per iteration 10 7 seconds per iteration
uid="1234567890abcdef"
$ ./test.tcl 1 6.2 seconds per iteration 2 6.5 seconds per iteration 3 6.5 seconds per iteration 4 6.6 seconds per iteration 5 6.6 seconds per iteration 6 6.6 seconds per iteration 7 6.6 seconds per iteration 8 6.6 seconds per iteration 9 6.6 seconds per iteration 10 6.7 seconds per iteration
uid=random()
$ ./test.tcl 1 6 seconds per iteration 2 7 seconds per iteration 3 8 seconds per iteration 4 9 seconds per iteration 5 10 seconds per iteration 6 11 seconds per iteration 7 11 seconds per iteration 8 12 seconds per iteration 9 13 seconds per iteration 10 14 seconds per iteration
Comments