On Nov 13, 2014, at 5:28 AM, Clemens Lang wrote: > On 13 Nov, 2014, at 10:56, Ryan Schmidt wrote: > >> That definitely helped. Now deactivate takes 12 seconds, activate takes 19 >> seconds. > > OK, so one of the queries we do during activation uses a suboptimal query > plan, > possibly because it uses an index that isn't very useful for the query. The > analyze command gathers statistical data on indices which is used by the query > planner to choose a better execution plan. > > Maybe that's the reason why I can no longer reproduce the problem. > > Can you run and provide the output of:
Sure... > DROP TABLE sqlite_stat1; > EXPLAIN QUERY PLAN SELECT id FROM files WHERE actual_path=? AND active; 0|0|0|SEARCH TABLE files USING INDEX file_actual (actual_path=?) > EXPLAIN QUERY PLAN UPDATE files SET actual_path=?, active=1 WHERE path=? AND > id=?; 0|0|0|SEARCH TABLE files USING INDEX file_path (path=?) > ANALYZE; > SELECT * FROM sqlite_stat1; portgroups||5654 dependencies|dep_name|15535 5 files|file_actual|748885 2 files|file_path|748885 2 files|file_port|748885 128 ports|port_state|5886 2943 ports|port_url|5886 5886 421 5 4 4 ports|port_name|5886 2 2 2 2 1 ports|sqlite_autoindex_ports_2|5886 5886 421 5 4 4 ports|sqlite_autoindex_ports_1|5886 2 2 2 2 1 metadata|sqlite_autoindex_metadata_1|2 1 > EXPLAIN QUERY PLAN SELECT id FROM files WHERE actual_path=? AND active; 0|0|0|SEARCH TABLE files USING INDEX file_actual (actual_path=?) > EXPLAIN QUERY PLAN UPDATE files SET actual_path=?, active=1 WHERE path=? AND > id=?; 0|0|0|SEARCH TABLE files USING INDEX file_path (path=?) _______________________________________________ macports-dev mailing list [email protected] https://lists.macosforge.org/mailman/listinfo/macports-dev
