1. A non-transitory computer-readable storage medium with an executable program stored thereon and being organized as a software library, the library being importable in a database software system, wherein the program instructs a microprocessor to perform the steps of: retrieve a number N of properties of a record within a main database table, the number N being higher than zero; create a search criteria option for each of the N properties; create a separate search criteria table for every search criteria option; create a separate index table for every search criteria table only once, wherein there is at least one common search criteria option between the index tables; present on a user-interface search criteria options for a user to select; select the search criteria options for forming a user-defined combination of a plurality of the search criteria options and associated indexes; and perform the database query based on the user-defined combination of the plurality of the search criteria options and the associated indexes.