On Tue, 6 Jan 2009 11:23:29 +0900, "Edward J. Yoon" <edwardy...@apache.org> wrote in General Discussion of SQLite Database <sqlite-users@sqlite.org>:
> Hi, I'm newbie in here. > > I'm using SQLite, all data (very huge and 20 million files) That's a lot of files. Or did you mean rows? > stored on NAS storage. Lately my system has been getting > progressively slower. Network cost seems too large. Are you sure? There can be many other reasons. > To improve its performance, I'm think about local lock file > instead of NAS as describe below. > > char str[1024] = "/tmp"; > strcat(str, lockfile); > sprintf(str, "%s-lock", zFilename); > > But, I'm not sure this is good idea. > I would love to hear your advice!! I think that's not the right way to start. This is what I would do, more or less in this order: 1- Optimize the physical database properties PRAGMA page_size (read the docss first!) PRAGMA [default_]cache_size 2- Optimize SQL: use transactions where appropriate. 3- Optimize your code. Don't close database connections if they can be reused. 4- Optimize the schema: create indexes that help, leave out indexes that don't help. 5- Investigate the communication to/from NAS. Do all NIC's train at the highest possible speed? Some limiting switch or router in between? Do you allow jumbo frames? 6- Consider SAN/fSCSI, direct attached storage. 7- Consider changing SQLite code. Without more details on your use case, people will only get general advice like the above. >Thanks. Hope this helps. -- ( Kees Nuyt ) c[_] _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users