On 2/1/17, Kevin O'Gorman <kevinogorm...@gmail.com> wrote: > I have a database of positions and moves in a strategic game, and I'm > searching for unsolved positions that have been connected to an immediate > ancestor. I'm using Python 3.5.2, and the code looks like
Please provide us with the following additional information: (1) In python, run the query: "SELECT sqlite_version(), sqlite_source_id();" (2) In a recent sqlite3 command-line shell (the latest release, not whatever 5-year-old release happens to be installed on your system) bring up your database and run the command: .fullschema --indent And send in the output. (3) Download the bundle of command-line tools for your OS, then run the command "sqlite3_analyzer" on your database, and send in the output. Thanks. > > #!/usr/bin/env python3 > """Output positions that are reachable but unsolved at census 18 or greater > See page 76 of Qubic log > > Last Modified: Tue Jan 31 12:13:07 PST 2017 > """ > > import sqlite3 # https://docs.python.org/3.5/library/sqlite3.html > > with sqlite3.connect("917.db") as conn: > for row in conn.execute(""" > SELECT DISTINCT ppos > FROM move JOIN pos ON mto = pnum > WHERE pcensus = 18 and pmin < pmax > """): > print(row[0]) > > As written here, this query runs for 1193 minutes (just short of 20 > hours). If I remove the "DISTINCT" and instead pipe the result into the > sort program that comes with Linux "sort --unique" the query and sort takes > only 31 minutes. The results are the same, and consist of 4.2 million rows. > > This seems extreme. > > -- > word of the year: *kakistocracy* > _______________________________________________ > sqlite-users mailing list > sqlite-users@mailinglists.sqlite.org > http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users > -- D. Richard Hipp d...@sqlite.org _______________________________________________ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users