Uploaded image for project: 'Couchbase Server'
  1. Couchbase Server
  2. MB-27860

Hash Join Support for ANSI JOIN

    XMLWordPrintable

Details

    • Improvement
    • Resolution: Fixed
    • Major
    • 5.5.0
    • 5.5.0
    • query
    • None

    Description

      Support for hash join in ANSI JOIN queries. For vulcan, hash join is only considered when a (new) join hint USE HASH is specified. Example:

      SELECT ... FROM customer c JOIN orders o USE HASH(probe) ON c.customerId = o.customerId WHERE c.lastName = "Woodman"

      SELECT ... FROM orders o JOIN customer c USE INDEX(cust_lname_fname) HASH(build) ON o.customerId = c.customerId WHERE c.lastName = "Woodman"

      Note the second example has two hints for customer, you can have USE INDEX and USE HASH together (with the same USE keyword as demonstrated above).

      Without the USE HASH hint the planner does not consider hash join. If USE HASH hint is specified but the planner cannot generate a valid hash join plan, then the planner will consider nested-loop join as it does today.

      Attachments

        Issue Links

          For Gerrit Dashboard: MB-27860
          # Subject Branch Project Status CR V

          Activity

            People

              bingjie.miao Bingjie Miao
              bingjie.miao Bingjie Miao
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                PagerDuty