首页 > 数据库 >PostgreSQL-log函数的用法

PostgreSQL-log函数的用法

时间:2023-08-17 15:38:14浏览次数:60  
标签:Log2 10000 log ceil PostgreSQL 用法 select postgres

最近在看关于PostgreSQL内部原理的一些东西,并借助翻译软件,做一些翻译,整理成文档,以便自己能够快速理解的同时,加以记录。

在单表查询的开销估算中,关于索引扫描的启动开销,有一个等式,使用到了函数 ceil 和 log2。等式是这样写的:'start-up cost' = {ceil(log2(10000))+(1+1)*50}*0.0025=0.285

语法:

LOG(base, n):base是一个正整数,表示所求取的对数底数;n是一个正整数,表示所要求的对数值。使用LOG函数时,我们将会获取到一个数值,该数值即为以base为底数,n的对数。

例:Log2(4)=Log2(22)=2

例:Log2(10000)=Log2(2x)=x=log(2,10000)

ceil 函数返回一个整数或大于参数值的最小整数。

postgres=# select log(2,10000);
         log
---------------------
 13.2877123795494494
(1 row)

postgres=# select ceil(log(2,10000));
 ceil
------
   14
(1 row)

postgres=# select (ceil(log(2,10000))+100)*0.0025;
 ?column?
----------
   0.2850
(1 row)

postgres=#

标签:Log2,10000,log,ceil,PostgreSQL,用法,select,postgres
From: https://blog.51cto.com/baoyw/7123098

相关文章

  • 打算以日记形式记录每天观察到的用法。
    打算以日记形式记录每天观察到的用法。10.6(虽然已经7号了)说话途中咳嗽了说Excuseme别人打喷嚏了说Blessyou但是别人咳嗽了说Areyouokay?对方提出一个plan,你觉得可以,说soundsgood!/Ok,great!10.8食品密封袋(ounce-sized)sandwichbag抓绒衣fleece方形饼干(类似方......
  • 笔记整理--C语言--sscanf()和sprintf()的用法总结——转载
    sscanf函数的高级用法sscanf与scanf类似,都是用于输入的,只是后者以屏幕(stdin)为输入源,前者以固定字符串为输入源。函数原型:intsscanf(constchar*format[,argument]...);其中的format可以是一个或多个:{%[*][width][{h|l|I64|L}]type|''|'\t'|'\n'|非%符号},注:*亦可用......
  • 互斥量概念、用法、死锁演示及解决详解
    互斥量概念、用法、死锁演示及解决详解视频:https://www.bilibili.com/video/BV1Yb411L7ak?p=7&vd_source=4c026d3f6b5fac18846e94bc649fd7d0参考文章:https://blog.csdn.net/qq_38231713/article/details/106091902互斥量(mutex)如果想深入了解可以具体看一下操作系统互斥量的讲......
  • jvs-logic(逻辑引擎)的产生背景和使用场景作用
    逻辑引擎的由来要了解逻辑引擎的产生背景,我们需要了解程序执行的基本原理,那么编译是少不了的,编译是将高级语言翻译成为机器可以执行的机器语言。我们在做日常开发过程中,把通用的业务逻辑通过高级语言写出来后,需要把代码编译为可执行的程序,并发布出来,然后普通用户才能使用。当业务......
  • 笔记整理--C语言--sizeof()用法汇总——转载
    sizeof()功能:计算数据空间的字节数与strlen()比较strlen()计算字符数组的字符数,以"\0"为结束判断,不计算为'\0'的数组元素。而sizeof计算数据(包括数组、变量、类型、结构体等)所占内存空间,用字节数表示。指针与静态数组的sizeof操作指针均可看为变量类型的一种。所有指针变量......
  • centos7yum安装syslog-ng
    1.安装epel源yum-yinstallhttps://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm2.安装syslog-ngyum-yinstallsyslog-ng3.修改syslog-ng配置文件vim/etc/syslog-ng/syslog-ng.conf  ......
  • ApplicationRunner用法
    ApplicationRunner用法原文链接:https://blog.csdn.net/weixin_41667076/article/details/121701303ApplicationRunner1.类型:接口2.方法:只定义了一个run方法3.使用场景:springBoot项目启动时,若想在启动之后直接执行某一段代码,就可以用ApplicationRunner这个接口,并实......
  • applicationrunner用法 是一个方便的接口,可以用于在应用程序启动后执行一些逻辑,比如数
    applicationrunner用法原文链接:https://wenku.csdn.net/answer/d8f7f4398bc786e79ed79f09b540878fApplicationRunner是SpringBoot中的一个用于运行应用程序的类。它可以帮助你快速启动和运行你的应用程序,而不需要写很多代码。你可以通过实现ApplicationRunner接口并重写run方法......
  • pd.get_dummy() 详细用法即源码解析
    源代码分析pandas:encoding.pyget_dummy()解析defget_dummies(data,prefix=None, prefix_sep:str|Iterable[str]|dict[str,str]="_",dummy_na:bool=False,columns=None,sparse:bool=False,drop_first:bool=F......
  • Java日志系列:Log4j使用和原理分析
    目录一、简介二、使用三、日志级别四、组件说明LoggersAppendersLayouts五、配置加载初始化配置配置文件加载查看日志记录器的详细信息六、Layout的格式七、Appender的输出FileAppenderRollingFileAppenderDailyRollingFileAppenderJDBCAppender八、日志记录器的层级关系一、简介......