Thanks, Dominique, for the tip on multifile amalgamation. After a few internet searches and the acquisition of gawk.exe and tclsh85.exe, I was able to build the multi-file amalgamation for 3.8.10. Tomorrow, I will see if I can tell why SQLite is choosing table scans over using my indexes. If anyone has tips on where to set breakpoints, that would be helpful.
One thing I did do: Since I can copy the data into SQLite and do the same join as I was trying using virtual tables, I did that with EXPLAIN QUERY PLAN, and I got this: 0 0 0 SCAN TABLE rental10 AS t1 0 1 1 SEARCH TABLE inventory AS t2 USING AUTOMATIC COVERING INDEX (inventory_id=?) 0 2 2 SEARCH TABLE customer AS t3 USING AUTOMATIC COVERING INDEX (customer_id=?) 0 3 3 SEARCH TABLE film_category AS t6 USING AUTOMATIC COVERING INDEX (film_id=?) 0 4 4 SEARCH TABLE film AS t4 USING AUTOMATIC COVERING INDEX (film_id=?) 0 5 5 SEARCH TABLE film_actor AS t5 USING AUTOMATIC COVERING INDEX (film_id=?) 0 6 6 SEARCH TABLE category AS t8 USING AUTOMATIC COVERING INDEX (category_id=?) 0 7 7 SEARCH TABLE actor AS t7 USING AUTOMATIC COVERING INDEX (actor_id=?) So, when SQLite has all the data, it figures out that it needs to use indexes, but when using my virtual tables, for some reason it doesn't. Still working under the assumption that it is my fault. Thanks, Eric