Performance with SQLite in Adobe AIR
April 18th, 2008
I recently had the opportunity to develop a small tutorial application that ran queries on a good sized dataset (not huge - but 10,000 rows). I hadn’t yet had the opportunity to test AIR’s SQLite database functionality, and I must say that I was pleased. The application (which was a tutorial on strongly typed database results and parameterized queries for my AIR API series at InsideRIA.com) - just has a search field that enabled you to search through these 10,000 records to find a certain contact. It also auto-populates the datagrid as you type. So, if you typed my first name ‘David’, it would have search over 10,000 records five times.
When I search, the application’s processor use goes from 2% to 22%, but then it drops almost immediately back down. Also, there is no visible delay between the search and having the datagrid populated. Overall, this leads me to believe that an AIR application could adequately handle extremely large datasets without degrading the user experience or hogging a great deal of system resources.
If you want to play with the application, it is at the bottom of the following tutorial. Also, if you download the source files, I have included the database - which might be useful for just playing around with the SQLite functionality (it was data from FakeNameGenerator.com).
AIR API - Additional Query Techniques (InsideRIA.com)



3 comments on “Performance with SQLite in Adobe AIR”
01
[...] David Tucker - Web Development Goodness » Blog Archive » Performance with SQLite in Adobe AIR (tags: air SQLlite) [...]
02
The SQLite database is pretty damn fast. I was getting near instantaneous searching with databases that were ~100,000 records. Somewhere around 800,000 - 1,000,000 records you start losing performance, waiting a few seconds for a search. Still, not bad eh?
03
Not bad at all. It’s cool to see it perform that well on data sets that large! It was a great move for Adobe to include an existing powerful solution like SQLite for AIR.
Leave a Reply