Re: Re: [pgsql-zh-general] 随机字符串函数的C语言实现

From: Quan Zongliang <zongliang(dot)quan(at)postgresdata(dot)com>
To: pgsql-zh-general(at)postgresql(dot)org
Subject: Re: Re: [pgsql-zh-general] 随机字符串函数的C语言实现
Date: 2017-09-06 01:48:58
Message-ID: 26291e49-c0d2-c4f5-f72c-cb7d3844ad29@postgresdata.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-zh-general


这篇博文有简单测试:
https://my.oschina.net/quanzl/blog/1529438
天壤之别的性能差距

On 2017/9/5 17:11, winston cheung wrote:
> 权叔有性能测试么?列一下数据啊,哈哈,学习一下。
>
>
> On 09/05/2017 05:01 PM, Jaimin Pan wrote:
>> 试一试
>> md5(random()::text);
>>
>>
>> select pg_backend_pid(),s,'string '|| md5(random()::text) from (select
>> generate_series(2000,8000,1) s) as g;
>> Time: 239.733 ms
>>
>> 2017-09-05 16:28 GMT+08:00 Quan Zongliang
>> <zongliang(dot)quan(at)postgresdata(dot)com
>> <mailto:zongliang(dot)quan(at)postgresdata(dot)com>>:
>>
>> 各位下午好
>> 邮件列表沉寂太久,激活一下大家的情绪。
>>
>> 分享一个C语言实现的随机字符串函数:
>> PG_FUNCTION_INFO_V1(random_string);
>> Datum
>> random_string(PG_FUNCTION_ARGS)
>> {
>>         int32 length = PG_GETARG_INT32(0);
>>         int32 i;
>>         const char chars[] =
>> "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
>>         char *result;
>>
>>         if (length < 0)
>>                 PG_RETURN_NULL();
>>
>>         if (length == 0)
>>                 PG_RETURN_TEXT_P(cstring_to_text(""));
>>
>>         result = palloc(length + 1);
>>         if (result == NULL)
>>                 ereport(ERROR, (errcode(ERRCODE_OUT_OF_MEMORY),
>>                                         errmsg("out of memory")));
>>
>>         for (i=0; i<length; i++)
>>         {
>>                 result[i] = chars[random()%(sizeof(chars)-1)];
>>         }
>>         result[i] = '\0';
>>
>>         PG_RETURN_TEXT_P(cstring_to_text(result));
>> }
>>
>> 原文见:
>> https://my.oschina.net/quanzl/blog/1529438
>> <https://my.oschina.net/quanzl/blog/1529438>
>>
>> 欢迎关注我司公众号:postgresdata-news
>>
>> --
>> 权宗亮
>> 神州飞象(北京)数据科技有限公司
>> 我们的力量源自最先进的开源数据库PostgreSQL
>> zongliang(dot)quan(at)postgresdata(dot)com
>> <mailto:zongliang(dot)quan(at)postgresdata(dot)com>
>>
>>
>>
>> --
>> Sent via pgsql-zh-general mailing list
>> (pgsql-zh-general(at)postgresql(dot)org
>> <mailto:pgsql-zh-general(at)postgresql(dot)org>)
>> To make changes to your subscription:
>> http://www.postgresql.org/mailpref/pgsql-zh-general
>> <http://www.postgresql.org/mailpref/pgsql-zh-general>
>>
>>
>

In response to

Browse pgsql-zh-general by date

  From Date Subject
Next Message winston cheung 2017-11-23 03:41:19 test
Previous Message Quan Zongliang 2017-09-05 10:26:42 Re: [pgsql-zh-general] 随机字符串函数的C语言实现