
数据库
数据库相关知识,使用postgresql
https://www.postgresql.org/
余生之君
越努力,越幸运
展开
-
五大数据存储模型
今天和同事聊起列式存储ClickHouse数据库,原来存储模型的家族这么大。关系型数据库(行式数据库)就是传统的数据库,如mySql,Oracle, postgresql。相比较与列式存储,最明显的特点就是把一行中的数据值串在一起存储起来,然后再存储下一行的数据。列式存储 Sybase IQ, ClickHouse,Hbase列式存储是相对于传统的行式存储来说的,最大区别就是数据时是按照...原创 2020-04-29 15:08:06 · 4375 阅读 · 0 评论 -
Mysql默认隔离级别为什么是可重复读?
知识点总结1.数据库默认隔离级别: mysql —repeatable,oracle,sql server —read commited2.mysql binlog的格式三种:statement,row,mixed3.为什么mysql用的是repeatable而不是read committed:在 5.0之前只有statement一种格式,而主从复制存在了大量的不一致,故选用repeata...转载 2020-03-23 10:31:38 · 8157 阅读 · 4 评论 -
MySql数据库索引底层数据结构
索引是帮助数据库高效获取数据的排好序的数据结构。一般的说法索引相当于目录其实并不太准确。索引是存在硬盘文件里的数据是如何存储与读取的?索引采用了什么数据结构呢? 常见的数据结构有:二叉树、红黑树、hash、B树、B+树。 首先来看如果采用Hash,它是把数据进行Hash直接对应磁盘存储...原创 2020-02-14 23:17:23 · 2263 阅读 · 0 评论 -
postgreSQL的索引
postgreSQL的索引主要有如下几类:B-tree、Hash、GIN、GiST、SP-GiST、BRIN。每个索引都有特定的算法来匹配不同的类型数据的查询。原创 2019-08-15 19:43:48 · 799 阅读 · 0 评论 -
数据库优化
1. 列优化1.1 因设备名称会经常模糊查询,所以再建立一个search_name列来存储设备名称的unicode值,提高查询效率。1.2 项目中的数据表全部为单表,没有外键,好像现在公司早就是这样的了。...原创 2019-07-07 19:51:10 · 251 阅读 · 0 评论 -
从@Transactional看事务的传播和隔离
文章目录1. transactionManager 当在配置文件中有多个TransactionManager,可以用该属性指定使用哪个事务管理器2. propagation 事务的传播行为 ,默认值为REQUIRED3. isolation 事务的隔离度 默认值为DEFAULT4. timeout 事务的超时时间 默认值为-1. 超时自动回滚5. readOnly 是否为只读事务,默认值为fal...原创 2019-02-16 19:48:17 · 2647 阅读 · 0 评论 -
Mybatis的如何根据下划线_,百分号%模糊查询---escape的作用
在使用mybatis的模糊查询时,有俩个特殊符号需要注意:%:相当于任意多个字符;_:相当于任意的单个字符;我们需要对特殊字符进行转义,如:public static String escapeChar(String before){if(!ObjectUtils.isEmpty(before)){ before = before.replaceAll("/&am原创 2019-01-26 15:39:50 · 6867 阅读 · 1 评论 -
truncate、drop、delete区别
本文导读:删除表中的数据的方法有delete,truncate, 其中TRUNCATE TABLE用于删除表中的所有行,而不记录单个行删除操作。TRUNCATE TABLE 与没有 WHERE 子句的 DELETE 语句类似;但是,TRUNCATE TABLE 速度更快,使用的系统资源和事务日志资源更少。下面介绍SQL中Truncate的用法当你不再需要该表时, 用 drop;当你仍要保留该表,...原创 2019-01-21 20:27:08 · 603 阅读 · 0 评论 -
Druid数据库连接池监控的使用
Druid数据库连接池1. Druid是什么?Druid是Java语言中最好的数据库连接池,由阿里巴巴团队开发。Druid能够提供强大的监控和扩展功能。github地址为https://github.com/alibaba/druid,有丰富的中文文档和常见问题的解答,非常方便。2. 如何在springboot项目中使用?2.1 首先引入依赖 <dependency&gt...原创 2018-11-02 20:09:40 · 26732 阅读 · 2 评论 -
postgres中分组后拼接多行
现在有这样一个需求,表内容如: ,根据calss_type分组后,然后将name进行拼接返回,即: mysql可以很方便的利用group_concat函数来实现,但是postgres9.0版本之前没有这样的函数,需要进行自定义函数,(参考博客)。 9.0版本后的postgres数据库,新增了许多函数: 我们可以用array_agg(),string_agg()等函数来实现。注意st...原创 2018-09-10 21:14:22 · 8051 阅读 · 0 评论 -
使用mybatis中的自定义TypeHandler处理PostgreSQL中的Json类型
postgres里的json格式我们在使用postgres数据库时会使用到json格式来存放一些格式不固定的字段,postgres支持json和jsonb两种格式,两者的区别以后再说,今天说一下结合mybaits的使用方法:1. typeHandler的实现 mybatis默认是没有实现json类型字段对应的TypeHandler,所以一般我们需要自定义mybatis的TypeHand...原创 2018-07-06 21:09:11 · 8157 阅读 · 9 评论