On Tue, 26 Jun 2012 12:15:42 -1000 "[email protected]" <[email protected]> wrote:
> Working together with Varun, we've realised that using the active library > filter aka "Selector" feature, causes a hang in the interface each time one > of the filters is applied. This is caused by the hit to the database, so I > have two suggestions to improve the performace: > > 1. Implement the filters on qtTableView directly in C++, like > (this<http://stackoverflow.com/questions/6785481/how-to-set-filter-option-in-qtablewidget>) > negating any need to re-request anything from the database. It is good only for viewing database > 2. Implement some kind of thread for the operation - looking through the > code, /src/library/browse/browsethread.cpp is something like this? It won't work properly. SQLite database is limited to one access at time, so all the other things will wait for thread to finish its job. I already tested it on my own project. > 3. Investigate improving the performance of the sqlite database - from my > limited understanding, this is already using caching as much as possible - > but perhaps there are some more indexes we can add to help the queries - an > example is this "WHERE ((Genre == 'House' AND (Bpm > 122 AND Bpm < 125) AND > Key in ('Fm','A#m')) AND id in (.....)" 4. Switch to mysqle, which solves many problems - multiple access, buffering etc. Costs: higher memory footprint and cpu usage. -- Michał Wiśniewski ------------------------------------------------------------------------------ Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ _______________________________________________ Get Mixxx, the #1 Free MP3 DJ Mixing software Today http://mixxx.org Mixxx-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/mixxx-devel
