6. A system for performing a database query in a relational database, the database query being carried out by a database engine and being based on user-defined search criteria, the system comprising: the relational database having a non-transitory computer-readable storage medium; a microprocessor programmed to: 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.
10. The system according to claim 6 , wherein for each one of the plurality of the search criteria options, the corresponding search criteria table and the corresponding index is retrieved and provided to the database engine in order to access the main database table.