sql >> データベース >  >> RDS >> PostgreSQL

壊れたPL/ルビーの代替:倉庫ジャーナルテーブルを変換する

    オプションから始めましょう:

    • pl/pgsqlおよびsql
    • pl / perl、pl / pythonu、およびpl / tcl
    • その他のpls

    これらの主要なカテゴリには、長所と短所の違いがあります。彼らはまた、あなたが物事を進める方法にも違いがあります。 pl / ruby​​のような外部plの大きな弱点の1つは、それらが維持されない場合、後で問題が発生する可能性があることです。

    PL/PGSQLおよびSQL

    このような場合、変更を再帰共通テーブル式を使用したSQLクエリとして表現できる可能性があります。次に、sqlを使用するか、わずかな手続き型サポートが必要な場合は、それを追加してpl/pgsqlを使用します。これは通常、私がこれに取り組む方法です。

    PL / Perl、PL / TCL、PL / PythonU

    RubyコードをPythonまたはPerlに移植して、これらの言語のPLバリエーションを使用することもできます。これらのPLは、PostgreSQLのコアディストリビューションの一部として広く使用および保守されています。彼らは消えることはありません。これにより、ロジックがどのように移動するかについての透明性が向上します。

    PL / Pythonの重要な制限の1つは、信頼できるモードがないことです。pl/ perlで発生する問題の1つは、信頼できるモードは外部モジュールへのアクセスがないことを意味することです。



    1. テーブルのバージョン管理(履歴テーブル)と注文テーブルの関係

    2. 一意でない列に一意のインデックスを作成する

    3. GroupByを使用する場合のMySQLでのSelectサブクエリのランダム化

    4. 2つの列を一致させる