A system (100, 200, 900), comprising: a processing system that includes one or more processors (204, 1002); and a memory (206, 904) configured to store program code (108, 208) to be executed by the processing system (204, 1002), the program code (108, 208) configured to: receive an incoming query associated with a database (116, 222) of a query system (104, 200); determine at least one feature (504, 506) of the incoming query; determine a system state (212, 800) of the query system (104, 200); determine a set of executing queries being executed by the query system (104, 200) and a query state of each executing query in the set; calculate a plurality of different possible execution times (214, 310, 512, 514, 600) for executing the incoming query at least partially concurrently with the set of executing queries and a plurality of different possible execution times for executing the set of executing queries at least partially concurrently with the incoming query, the pluralities of different possible execution times being calculated according to ones of a set of parallel thread options (600, 700) and based at least on the query state of each executing query in the set; and initialize execution of the incoming query, against the database (116, 222), with a number of processing threads that is at least based on the query state of each executing query in the set (212, 800) and one of the set of parallel thread options having an execution time of the different possible execution times that corresponds to a time of completion attribute (600, 700). a processing system that includes one or more processors (204, 1002); and a memory (206, 904) configured to store program code (108, 208) to be executed by the processing system (204, 1002), the program code (108, 208) configured to: receive an incoming query associated with a database (116, 222) of a query system (104, 200); determine at least one feature (504, 506) of the incoming query; determine a system state (212, 800) of the query system (104, 200); determine a set of executing queries being executed by the query system (104, 200) and a query state of each executing query in the set; calculate a plurality of different possible execution times (214, 310, 512, 514, 600) for executing the incoming query at least partially concurrently with the set of executing queries and a plurality of different possible execution times for executing the set of executing queries at least partially concurrently with the incoming query, the pluralities of different possible execution times being calculated according to ones of a set of parallel thread options (600, 700) and based at least on the query state of each executing query in the set; and initialize execution of the incoming query, against the database (116, 222), with a number of processing threads that is at least based on the query state of each executing query in the set (212, 800) and one of the set of parallel thread options having an execution time of the different possible execution times that corresponds to a time of completion attribute (600, 700). receive an incoming query associated with a database (116, 222) of a query system (104, 200); determine at least one feature (504, 506) of the incoming query; determine a system state (212, 800) of the query system (104, 200); determine a set of executing queries being executed by the query system (104, 200) and a query state of each executing query in the set; calculate a plurality of different possible execution times (214, 310, 512, 514, 600) for executing the incoming query at least partially concurrently with the set of executing queries and a plurality of different possible execution times for executing the set of executing queries at least partially concurrently with the incoming query, the pluralities of different possible execution times being calculated according to ones of a set of parallel thread options (600, 700) and based at least on the query state of each executing query in the set; and initialize execution of the incoming query, against the database (116, 222), with a number of processing threads that is at least based on the query state of each executing query in the set (212, 800) and one of the set of parallel thread options having an execution time of the different possible execution times that corresponds to a time of completion attribute (600, 700).