[未完待续] 缓存击穿后的Database生存法则
背景
背景 文本搜索的需求分为: 1、全匹配,如: select * from table where column = 'xxxx'; 2、后模糊,如: select * from table where column like 'xxxx%'; 3、前模糊,如: select * from ...
背景 生成随机身份证号。 规则 前1、2位数字表示:所在省(直辖市、自治区)的代码; 第3、4位数字表示:所在地级市(自治州)的代码; 第5、6位数字表示:所在区(县、自治县、县级市)的代码; 第7 - 14位数字表示:出生年、月、日; 第15、16位数字表示:所在地的派出所的代码; 第17位数字表示...
背景 PostgreSQL 10内置分区的性能不如pg_pathman分区插件的性能。有非常大的优化空间,那么是什么导致了分区的性能问题呢? 编译PostgreSQL 10.0 1、编译、打开debug CFLAGS="-g -ggdb -fno-omit-frame-pointer" ./configure...
背景 PostgreSQL 10已经实现了大部分操作的并行计算,例如(全表扫描,索引扫描,位图扫描,哈希JOIN,哈希聚合,分组聚合,排序,建索引等)。 对于外部表,要实现并行扫描,PostgreSQL有什么方法呢? PostgreSQL不仅支持单个对象的并行计算,还支持多个对象的并行访问。多个对象的并行访问...
背景 随着互联网的发展,数据爆炸性的增长,数据库逐渐成为了很多业务的绊脚石,很多业务也哭着喊着要上分布式数据库(个人认为大部分是高估了自己的业务)。 分布式数据库又分很多流派,比如重点要说的sharding和共享分布式存储的架构,它们有着什么样的优缺点呢? sharding vs 共享分布式存储 数据库架构 ...
背景 PostgreSQL是一个强类型数据库,因此你输入的变量、常量是什么类型,是强绑定的,例如 在调用操作符时,需要通过操作符边上的数据类型,选择对应的操作符。 在调用函数时,需要根据输入的类型,选择对应的函数。 如果类型不匹配,就会报操作符不存在,或者函数不存在的错误。 postgres=# sele...
背景 在一些Oracle的用户中,会问到是否支持order by INT这样的查询语法。它是什么意思呢?实际上就是按查询子句的第几个表达式进行排序。 https://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_10002.htm ORDE...