If the query is faster. so be it. IMO, the join is clearer even at the cost of .3 milliseconds. :)

Usually there should be vacuuming of some kind. Just transfer old to history.

Vacuuming is an admission of defeat. I cringe when i see "history" tables. The best way is to have a column mentioning status. "Active" flags are a step in the right direction, but would be better as a date recording the removal, a name of who removed it, a reason of why, the id of what superseded it, etc. That acts as both a flag and gives some useful information. Even better would be to include a status fked to a status table, which can included more statuses as time goes on. After that, a good index helps with speed.

Do you have any projects in mind, where Perl-code is stored in db?

No. Just seen it before. Last case i saw was tcl. Made distribution and setup easy, however.

There is ofc limit how much views etc one should put to db.

Why? Postgresql does not list any such limit. And, as views are pseudo objects used to store queries, define business objects, and help with columnar-rights, there actually should be--when the project calls for it--a plethora a views. A good naming scheme could easily keep everything in order.

Sometimes it's better to do with code than in db.

Formatting and processing, yes. Querying and permissions, no. The database handles accessing and retrieving the data, the ui displays it to the user.

Views are nice, when you want to limit permission of some user.

To be clear, they are nice when you want to limit the data the user sees. Permissions are already handled natively.


In reply to Re^9: How to interpolate sql-output by chacham
in thread How to interpolate sql-output by Seq

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.