pg直接存json效率关于 pgsql 数据库json几个函数用法的效率测试
关于pgsql 几个 *** 作符的效率测试比较
1 json::->> 和 ->>
测试方法:单次运行100次,运行10个单次取平均时间。
测试结果:->> 效率高 5% 左右
功能差异:
json::->> 在使用前需要对对象转换为jsonb 然后再执行 ->> *** 作,所以比->>更耗时 。
所以如果我们需要对返回的对象进行jsonb *** 作,用jsonb_ 相关函数时,
建议用jsonb_ 而不用 jsonb__text ,后者会把结果的jsonb对象转换为text,相对于会多两次 jsonb <--> text 转换 *** 作。
2 any 和 in
select from table where column in('1','3','5','7');
select from table where column any('{1,3,5,7}'::text[]);
测试方法:单次运行100次,运行10个单次取平均时间。
测试结果:in 效率高 5% 左右
功能差异:
如果参数是自己传入的,那么建议用in(),如果参数是jsonb对象转换的可使用any。
如果不能 *** 作服务器,但是能够远程连接到数据库进行增删改查,备份数据库的方法有以下几种:
使用pg_dump命令远程备份:在远程连接到数据库后,可以使用pg_dump命令备份数据库,将备份文件传输到本地或其他服务器。命令示例:pg_dump -h [数据库地址] -p [数据库端口] -U [用户名] -W [密码] -F c -b -v -f [备份文件名] [数据库名]。
使用pg_dumpall命令备份所有数据库:在远程连接到数据库后,可以使用pg_dumpall命令备份所有数据库,将备份文件传输到本地或其他服务器。命令示例:pg_dumpall -h [数据库地址] -p [数据库端口] -U [用户名] -W [密码] -f [备份文件名]。
使用pgAdmin等GUI工具进行备份:如果可以通过GUI工具远程连接到数据库,可以使用工具提供的备份功能进行备份。
无论使用哪种备份方法,建议在备份之前先确认数据的完整性和一致性,以确保备份数据的准确性。另外,备份文件的传输也需要注意数据安全性,可以使用加密方式或者传输到安全的存储设备上。
全部替换、散列化处理。
在pg数据库中,将需要脱敏的数据全部替换成固定的字符或字符串,例如将手机号码中的中间几位替换成""号。或者使用散列函数对需要脱敏的数据进行加密处理,将加密后的结果存储到数据库中,例如使用MD5加密算法对用户密码进行散列化处理。
pg是一种特性非常齐全的自由软件的对象-关系型数据库管理系统,是以加州大学计算机系开发的POSTGRES,42版本为基础的对象关系型数据库管理系统。
首先mysql和postgres在早期的时候完全是两个极端。mysql更像是个“基本上满足的是关系数据库的语法的大号KV”,对关系型数据库的高级功能支持的不是很友好。
在从技术而言,PG 功能丰富,SQL 支持得很完备,强大的数据类型,严谨的关系模型,很难从关系模型去找出PG
得
不合理之处,多年的积累,连全文索引词库都非常丰富,据说对于一些简单的搜索,都可以摆脱搜索引擎了,优化器做得很好,在代价选择上PG 实现了基因算法,这一点连Oracle 也没有做到。
也正因如此在早期mysql变成了事实上的互联网企业OLTP的事实标准。不管干啥业务,mysql都不可或缺。在行业里跳槽来跳槽去的程序员普遍对mysql也更熟悉。大量围绕mysql的商业服务都成为了行业主流。新一代分布式数据库,像TiDB为了吸引用户,首先要做的是“兼容mysql的语法”
数据库这种早期用了就基本不能换的东西是有滞后性的,你看到现在MySQL的现状,是5年前MySQL是国内几乎唯一选择的情况。5年前Postgres就已经在欧美初创项目里比较受欢迎了,PostgreSQL在全球也是二线,不独中国。PostgreSQL一直就功能比MySQL完备,唯独缺乏一个引爆点,导致生态长期不如MySQL。
两者之间区别:
Postgres是一个对象关系数据库(ORDBMS),具有表继承和函数重载等功能,可以处理复杂的查询和大型数据库。
而MySQL就是一个纯粹的关系数据库(RDBMS)相对易于建立和管理,快速,可靠且易于理解。
pg替代mysql,技术上没有任何问题。mysql能做到的,pg同样能做到,不说做得更好,至少是各有千秋。也是因为pgsql的确是好,这个查查就知道。当然现在pgsql集群方案也很多,所以我估计早期的时候,pgsql在集群方案上可能不如mysql。而且pgsql的地理信息支持是很好的……。
有一个优势是pg是BSD开源协议,允许在pg的基础上开发商业版和销售。对于商业化非常友好。而mysql是GPL协议,如果某软件使用了GPL协议,那该软件也必须开源。所以一定程度上mysql受到oracle的控制。
服务器优化的选项:MySQL提供了很多选项来调整和优化你的MySQL服务器,通过调整变量,如排序缓冲区大小,读缓冲区大小,最大允许包等。
易于使用和流行:MySQL的流
#PGDATA=/home/pgdata
#service postgresql start
就行了。。
你的想法是对的。。
你可以用fdisk再分一个分区。
mount /var/lib/pgsql/data /dev/hdax
initdb
放在那都行,都一样,没什么好坏
只是/var卷你的有多大不可能上G吧
/boot 60M 越过60是浪费
/ 1000M 足够你用了
/usr 2000M 装KDE,其它软件
/var 2000M 有些软件要用这里如:qmail
/home 2000M 用户目录,
这样的分区可以适何大多的需求
PG数据库放在/var/lib/pgsql/data
当PG数据越来越多达到2000M时
还有你还要考虑其它程序也要用/var
所以我说让你在分个区给它
mount /var/lib/pgsql/data /dev/sdax
pg数据库集群一般2台
为了保证数据库服务的正常不间断运行,一般用两台机器作为数据库服务机器。其中一台用于实际数据库 *** 作应用、提供数据库服务,而另外一台则实时从前者中获取数据以保持数据的一致性。
如果当前的主节点故障宕机,当前的备节点机器立马(人为手动触发或由配置自动触发)取代当前的主节点机器继续提供数据库服务。
以上就是关于pg直接存json效率全部的内容,包括:pg直接存json效率、在不能 *** 作服务器的情况下如何备份pg数据库、pg中文怎么脱敏等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)