1. A method of creating one or more indexes for a body of data arranged in columns, said indexes used to support a plurality of query types, said query types referencing respective combinations of one or more of said columns, said method comprising the computer-implemented steps of: building a graph based on the plurality of combinations of one or more of said columns of said body of data; finding a minimum leaf spanning tree for the graph; and creating said one or more indexes based on the minimum leaf spanning tree.