Skip to content
/ saio Public
forked from wulczer/saio

PostgreSQL join optimisation with Simulated Annealing

Notifications You must be signed in to change notification settings

parkag/saio

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SAIO PGXN versionBuild StatusCoverage Status

SAIO is a PGXN extension module for PostgreSQL that implements join order search with Simulated Annealing.

The purpose of this module is to encourage attempts to build a non-exhaustive join order optimizer better than GEQO.

Current benchmarks show that currently SAIO generates worse results than GEQO - the current non-exhaustive join order optimizer included in PostgreSQL.

To use SAIO, you will need the PostgreSQL development headers. Compile and install with:

$ make
$ sudo make install

After that log in to your PostgreSQL server with a superuser account and issue:

=# LOAD 'saio';
=# SET saio\_threshold TO 10;

By default all queries with number of FROM elements exceeding saio_threshold will be planned using SAIO. To disable it use:

=# SET saio TO 'false';

Beware, if the module has been compiled against a server with assertion checking enabled, it will run extremely slowly and it will write debugging information to the /tmp directory.

About

PostgreSQL join optimisation with Simulated Annealing

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages

  • C 66.1%
  • TeX 21.3%
  • PLpgSQL 6.2%
  • Python 2.4%
  • Makefile 2.3%
  • C++ 0.9%
  • Other 0.8%