• EN
    Blog

    Cybertec Logo

    • Services
      • PostgreSQL design
        • Database architecture
        • Database modeling
      • PostgreSQL migration
        • Migration from Oracle
        • Migrating from MySQL / MariaDB
        • CYBERTEC Migrator
      • PostgreSQL administration
        • PostgreSQL disaster and data recovery
        • Troubleshooting
        • Performance Tuning
        • Remote DBA
        • Performance and scalability
        • Automation with kubernetes
      • PostgreSQL consulting
      • PostgreSQL development
      • PostgreSQL clustering and HA
        • Clustering and failover
        • High availability with Patroni
        • Point-In-Time-Recovery
        • Synchronous and asynchronous replication
        • Scaling with PL/Proxy
      • PostgreSQL Health Check
      • CYBERTEC Partner Network
    • Support
      • Standard PostgreSQL Support
        • Product Support
        • 9/5 Basic Support
        • 24/7 Basic Support
        • 24/7 Enterprise Support
      • Advanced PostgreSQL Support
        • 9/5 Remote DBA
        • 24/7 Remote DBA
        • 9/5 Dedicated DBA
        • 24/7 Cloud-based Support
      • Support for Reseller
        • 3rd Level Support
        • CYBERTEC Partner Network
    • Products
      • Our Products
        • CYPEX – Build Apps & Forms
        • CYBERTEC PostgreSQL Enterprise Edition
        • CYBERTEC Migrator
        • Scalefield – Private PostgreSQL Cloud
        • PostgreSQL Transparent Data Encryption
        • Data Masking for PostgreSQL
        • PL/pgSQL_sec – Fully encrypted stored procedures
      • PostgreSQL Tools & Extensions
        • pg_timetable – Advanced Job Scheduling
        • pg_show_plans – Monitoring Execution Plans
        • pgwatch – PostgreSQL Monitoring Tool
        • pg_squeeze – Shrinks Tables
        • Walbouncer – Enterprise Grade Partial Replication
        • PGConfigurator – Visual PostgreSQL Configuration
        • ora_migrator
        • Patroni Environment Setup
      • Assessment Packages
        • Data Science Assessment Package
        • Start-Up Assessment Package
        • Spatial Data Assessment Package
      • CYBERTEC Partner Network
    • Training
      • Course Catalogue
      • Online Training
      • Customized Training
    • PostgreSQL
      • Advantages of PostgreSQL
      • PostgreSQL Books
      • Solutions – Who uses PostgreSQL
        • PostgreSQL for Startups
        • PostgreSQL for governments and public services
        • Longlife solutions
      • Business Cases
        • Fraud Detection
        • PostgreSQL for biotech and scientific applications
    • Data Science
      • Data Science Overview
      • Machine Learning
      • Big Data Analytics
    • Contact

    Posts

    Tag: join

    25.06.2020 | Laurenz Albe

    Join strategies and performance in PostgreSQL

    © Laurenz Albe 2020 There are three join strategies in PostgreSQL that work quite differently. If PostgreSQL chooses the wrong strategy, query performance can suffer a lot. This article explains the join strategies, how you can support them with indexes, what can go wrong with them and how you can tune your joins for better […]

    Read more
    19.11.2018 | Hans-Jürgen Schönig

    PostgreSQL: Implicit vs. explicit joins

    If you happen to be an SQL developer, you will know that joins are really at the core of the language. Joins come in various flavors: Inner joins, left joins, full joins, natural joins, self joins, semi-joins, lateral joins, and so on. However, one of the most important distinctions is the difference between implicit and […]

    Read more
    18.12.2015 | Hans-Jürgen Schönig

    Join pruning – Cool stuff in PostgreSQL

    The PostgreSQL optimizer is really a wonderful piece of software, which is capable of doing great things. One of those great things is so called “join pruning”. In case PostgreSQL is able to detect a join which is actually not needed for execution, it will automatically remove it from the plan. Removing joins from the […]

    Read more
    14.08.2012 | Hans-Jürgen Schönig

    Outer joins revisited

    Some time ago I have already written about joins and especially about outer joins. As we see people repeatedly making the same errors over and over again I thought that it might be worth to address things once again – maybe I can rescue some souls and prevent some bugs. Here is a simplistic example: […]

    Read more

    logo

    CYBERTEC PostgreSQL International GmbH
    Gröhrmühlgasse 26
    2700 Wiener Neustadt
    AUSTRIA

    +43 (0) 2622 93022-0
    office@cybertec.at
    twitter.com/PostgresSupport
    github.com/cybertec-postgresql

    Our Services

    • Administration
    • Replication
    • Consulting
    • Database Design
    • Support
    • Migration
    • Development

     

    SUPPORT CUSTOMERS
    Go to the support platform >>

    Newsletter

    Check out previous newsletters!

    Stay well informed about PostgreSQL by subscribing to our newsletter.

    © 2000–2021 CYBERTEC PostgreSQL International GmbH
    • IMPORTANT INFORMATION ABOUT COVID-19
    • Contact
    • Data protection policy
    • Imprint
    • Terms and Conditions