The main point is to learn optimization techniques and to use them for solving specific tasks and exercises.
Total results for all competition exercises will be used to form optimization rating.
If this competition is popular it will be possible to establish certification on query optimization with shareware certificates being given out.
Competition is announced either by author or by moderator of the competition. Information about new competition will be published on forum, in mail delivery and in the news of the week section.
There will be a corresponding note in the header of the forum and on the exercise page.
Author is not allowed to improve (optimize) its own solution after he had announced the competition. Author's solution is used as a test one, i.e. all the solutions are compared to it.
It is possible to eliminate errors in solution and to add testing data. If such actions changed execution time of the test query then all competitive solutions for this exercise are reviewed and compared to the new test query or data.
Participation in competition
Author of the exercise (or moderator of the competition) does not participate in the competition but he receives 10 bonus points for each exercise which he announced to be the competition.
Everyone who are solving (and solved) exercise by default participate in the competition.
Every solution which exceeds the author's solution in performance by 5% could enter the competition and for this 5% competitor (participant) gets 5 points in optimization rating.
Competitor can submit solutions more than once trying to achieve better performance compared to previous solutions.
To enter the competition one should give the organizer of the competition a solution and explain techniques which caused performance increase.
Publication of the competitive solution
Decision about publication made by author/moderator is based on the perfomance results. Competitive solution is run on a testing database installed on a local(author's or moderator's) computer, which is identical to the testing database used on the site.
Testing is run using sql-script, which is the same for all exercises.
All competitive solutions which receives any points ought to be published by author/moderator.
Author publishes competitive solution and explanation given by participant and assigns points for optimization (points are calculated by the sql-script mentioned above).
Access to the competition solutions
Participant gets access only to those competitive solutions which are optimized not more than his own solution.
Participant can decide to look through competitive solutions (queries) which are optimized more than his own solution (query) by choosing respective optimization point.
In this case competitive should present solution which is more optimized than those which he looked through if he wants to continue to participate in competition.
Assigning points for optimization
For any accepted competitive solution participant receives points which equals to amount of percent by which competitive solution exceeded author's solution in the speed of execution. This applies to any new exercise or to exercise which has no published solutions exceeding author's solution in performance. Points are calculated using the following formula:
(1 - t_participant/t_author)*100.
Here t_author - execution time of the author's query, t_participant - execution time of the participant's query. After further speed improvement of his own solutions, participant's points are overwritten. According to formula, one can receive not more than 100 points for solution efficiency increase (excluding bonuses).
If some exercise solutions are already published on the forum and if any of these solutions exceed authors' solution in performance then points are calculated relative to the best of the published solutions.
If participant exceeds his own result in the same exercise his result is overwritten.
If participant opens competitive solution which exceeds his best result (see p.4) and improves it afterwards then points which he had earned before would be added to the points which he will earn for the current improvement. Points for the current improvement are calculated using the following formula:
(t_open - t_participant)/t_author*100.
Here t_open - execution time for the opened solution.
If participant shows best result in the exercise competition at the moment, he receives bonus points (10). Bonus points can be received only once.
If author for some reasons is not able to support his competition then he can either temporary stop or close it.
Moderator can resume the competition state if it was closed by author.
Author loses bonus points if he closes the competition.
If author closes competition then all points gained by participants on this particular exercise competition are not taken into count in the optimization rating but they do count in the rating for certification.