[Yum-devel] Sqlite performance + tuning
seth vidal
skvidal at linux.duke.edu
Wed Mar 21 07:37:59 UTC 2007
On Mon, 2007-03-19 at 17:29 +0100, Florian Festi wrote:
> Hi!
>
> As yum now also resolves only on the xml/sqlite data some of our results
> might interesting for the yum development, too.
>
> It turned out that there where no indices in the sqlite database for some of
> the common use cases:
>
> returnPrco() in sqlitesack.py:
> CREATE INDEX pkgprovides ON provides (pkgKey)
> CREATE INDEX pkgrequires ON requires (pkgKey)
> CREATE INDEX pkgconflicts ON conflicts (pkgKey)
> CREATE INDEX pkgobsoletes ON obsoletes (pkgKey)
>
> Those could be handy if the YumSqlitePackageSack.searchFiles() would try to
> make direct use of those columns:
> CREATE INDEX filenames ON files (name)
> CREATE INDEX dirnames ON filelist (dirname)
>
> I doubt that this will give any visible improvements with the current
> depsolver as it is currently hidden by other problems but as the other
> problems will get fixed the difference will increase. With our own resolver
> the time needed for resolving an "install *" on FC6 + extras + updates (6580
> packages) dropped from 10 to 3 Minutes.
>
> As there are plans to directly ship the sqlite dbs insted of the XML
> metadata, it might be worth checking if it is better to create the indices
> on the client side (sorry, didn't any checks on myself yet).
>
> It also turned out that if any quadratic behavior and looping over files is
> avoided resolving is reasonably fast.
How much bigger do these indexes make the sqlite db files?
-sv
More information about the Yum-devel
mailing list