

We extend dynamic programming and show how optimization metrics which correctly predict response time may be designed. We observe that the response time optimization metric violates a fundamental assumption in the dynamic programming algorithm that is the linchpin in the optimizers of most commercial DBMSs. We show that a cost model can predict response time while accounting for the new aspects due to parallelism. We incorporate the sources and deterrents of parallelism in the traditional execution space. We address this novel problem in the context of Select-Project-Join queries by extending the execution space, cost model and search algorithm that are widely used in commercial DBMSs. This goal poses the following query optimization problem: Minimize response time subject to constraints on throughput, which we motivate as the dual of the traditional DBMS problem. The decreasing cost of computing makes it economically viable to reduce the response time of decision support queries by using parallel execution to exploit inexpensive resources. The paper presents possible risks and benefits are using this method and also analyses of possible execution time reduction for different models of speculative parallelization. Thus, in parallel to the first query, some excessive computations can be executed, which in further steps would reduce the execution time of the consecutive queries. This plan should give the largest benefit also for W-1 of the consecutive queries. Taking under consideration W of upcoming queries waiting for execution, the execution plan for the first query should be developed. The paper presents the parallelisation method based on speculative execution for the database systems which are expected to give answers to complex queries coming from different sources as soon as possible. Starting from data partitioning (intra-operator parallelism) up to parallelism of operation (inter-operator parallelism) that depends on a query granularity. There are different levels at which parallelism can be introduced to the database system. In this paper, four categories to study these mechanisms are considered which are search‐based, machine learning‐based, schema‐based, and security‐based mechanisms. Although query optimization mechanisms are important in the cloud environments, to the best of our knowledge, there exists no complete and systematic review on investigating these issues. Finally, the important challenges of these techniques are reviewed to develop more efficient query optimization techniques in the future. Also, this paper represents the advantages and disadvantages of the selected query optimization techniques and investigates the metrics of their techniques. Therefore, in this paper, four categories to study these mechanisms are considered which are search‐based, machine learning‐based, schema‐based, and security‐based mechanisms. Although it is not computationally reasonable to explore exhaustively all possible plans in such large search space. This leads to an exponential increase in the number of possible equivalent plan alternatives to find an optimal QEP. In a distributed database system over cloud environment, the relations required by a query plan may be stored at multiple sites. The goal of a query optimizer is to provide an optimal Query Execution Plan (QEP) by comparing alternative query plans. Paper focuses on a design method which fits each algorithm to the environment it is best suited for. Taking advantage of strengths and eliminating weaknesses is the goal in implementing an algorithm. A survey of the proposed methods reveals their pros and cons. It will also focus on some of the major issues associated with parallel databases and how well these algorithms address them. It will look at various cost models, search algorithms and methods of generating query execution plans (QEPs), resource allocation techniques.

Paper will discuss some of the ways in which queries can be optimized for parallel execution. In this paper, we focus on several techniques for query optimization in shared-nothing parallel database systems. These solutions deal with various issues associated with such database systems. For the parallel databases to be effective and efficient, various optimizing solutions need to be implemented. These implementations involve database processing and querying over parallel systems. Parallel database systems are being used nowadays in a wide variety of systems, right from database applications to decision support systems.
