| CPC G06F 16/24537 (2019.01) [G06F 16/24545 (2019.01)] | 14 Claims |

|
1. A method for executing a query in a database system comprising a processor, said method comprising the steps of:
establishing a connection with an object storage system, wherein said object store is configured to store:
a dataset comprising a plurality of data, wherein said dataset is distributed across a plurality of objects, wherein each object is defined by a portion of data of said dataset; and
statistics about each object, wherein the statistics comprise minimum and maximum values for data of said portion of the said dataset for each said object;
maintaining within said database system a set of global statistics comprising the number of objects within said object storage system and the minimum and maximum values for said portion of data within each object;
receiving, by said processor, a database query seeking access to said dataset stored within said object storage system;
generating, by said processor, a query execution plan for said query;
determining, by said processor, from said set of global statistics, a number of objects to be accessed by said query execution plan;
determining, by said processor, from the number of objects to be accessed by said query execution plan a cost of execution of said query execution plan;
comparing, by said processor, the cost of said query execution plan with the costs of one or more additional query execution plans to select a query execution plan having a lowest cost; and
executing said query in accordance with said selected query execution plan.
|