On Mon, 24 Aug 2015 16:43:40 +0000 (UTC) Mike McWhinney <eljainc at sbcglobal.net> wrote:
> Hello, > I am trying to troubleshoot a problem that I'm having with a program > usingSQLite over a wireless network.? I know that wireless networks > can havetheir own sets of issues that cause database access problems. > What is happening is that something that takes 1 or 2 seconds on a > wirednetwork will take 15-20 seconds over wireless.? > > I am using System.Data.SQLite, which is based on version SQLite 3. > 8.8.3 (version 1.0.96.0)with C# Visual Studio. The program is > installed and runs off a network. The database is also on a network. > The reads are somewhat slower running on a wired network than when > run on a local machine.However, when run over wireless it is > significantly slower.? These are mostly reads onfairly simple > queries.? > > Are there any pragmas that may be used to increase the latency or to > allow thereads to process faster across a network??? Or are there any > other tips or tricksthat may be used to speed up access? This is a > multi-user database with about 2-10 usersreading/writing data. Most > of the time, the client application sits idle.? The SQLite > connectionsare opened only on demand, then closed after I/O > operations. However this opening and closingis kept to a minimum. > ThanksMike As Simon Slavin and R.Smith tells you, it's not an scenary (WiFi and concurrent r/w access) where Sqlite will work well. Each time sqlite needs to create a temp file, lock a file, delete a file, etc... it must wait to network and remote os. Said that and if you really wants to work with sqlite, don't use a direct System.Data.Sqlite connection. Instead, send the queries (text queries) to a process who runs sqlite on local, queues the queries, execute them in order and return results to each user. It's a medium complex project and some corner cases should be consider. I'll try postgres instead. --- --- Eduardo Morras <emorrasg at yahoo.es>