RE: Better performance no-throw conversion?
От | ldh@laurent-hasson.com |
---|---|
Тема | RE: Better performance no-throw conversion? |
Дата | |
Msg-id | MN2PR15MB25600F0B55F23C486BC4DDFD85D49@MN2PR15MB2560.namprd15.prod.outlook.com обсуждение исходный текст |
Ответ на | Re: Better performance no-throw conversion? (Michael Lewis <mlewis@entrata.com>) |
Список | pgsql-performance |
> From: Michael Lewis <mlewis@entrata.com> > Sent: Wednesday, September 8, 2021 13:40 > To: Tom Lane <tgl@sss.pgh.pa.us> > Cc: ldh@laurent-hasson.com; pgsql-performance@postgresql.org > Subject: Re: Better performance no-throw conversion? > > On Wed, Sep 8, 2021 at 11:33 AM Tom Lane <mailto:tgl@sss.pgh.pa.us> wrote: > "mailto:ldh@laurent-hasson.com" <mailto:ldh@laurent-hasson.com> writes: > > Some databases such as SQLServer (try_cast) or BigQuery (safe.cast) offer not-throw conversion. > > ... > > I couldn't find a reference to such capabilities in Postgres and wondered if I missed it, and if not, is there any planto add such a feature? > > There is not anybody working on that AFAIK. It seems like it'd have > to be done on a case-by-case basis, which makes it awfully tedious. > > Do you just mean a separate function for each data type? I use similar functions (without a default value though) to ensurethat values extracted from jsonb keys can be used as needed. Sanitizing the data on input is a long term goal, butnot possible immediately. > > Is there any documentation on the impact of many many exception blocks? That is, if such a cast function is used on a datasetof 1 million rows, what overhead does that exception incur? Is it only when there is an exception or is it on everyrow? > > Hello Michael, There was a recent thread (Big Performance drop of Exceptions in UDFs between V11.2 and 13.4) that I started a few weeksback where it was identified that the exception block in the function I posted would cause a rough 3x-5x performanceoverhead for exception handling and was as expected. I identified a separate issue with the performance plummeting100x on certain Windows builds, but that's a separate issue. Thank you, Laurent.
В списке pgsql-performance по дате отправления: