The answer: I remember : I have 256 databases. I have an array of 256 columns into which I store the number of record created. When I insert a record into a table, the corresponding entry into this array is incremented by one. When this element is equal to 1000 I commit the transaction. Not all the the parts of the array are filled at the same time, In that case the memory used grows. I had forgotten to commit many transaction for which the values into the array was less than 1000. Now rather than using 2Gb I only needs less than 1Gb wich is which is partially released. It will be released when the tables will be closed.
hereis the code to see what I am writing : <http://sqlite.1065341.n5.nabble.com/file/t9046/t2ylpbjbwo27yes6g.jpg> My last test for inserting 10 000 000 passwords was good for me. I made it in 43 minutes. Thank you for your help. ----- -------- Kenavo https://md5finder.blogspot.com/ (Never be pleased, always improve) -- Sent from: http://sqlite.1065341.n5.nabble.com/ _______________________________________________ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users