什么是拉链表? 一张表中的数据每日既有可能新增,也有可能修改,但是频率并不高,属于缓慢变化的维度,因此可以使用拉链表存储维度数据。 那么什么是拉链表呢? 拉链表:记录每条信息的生命周期,所以拉链表中都会有一个起始时间、一个结束时间、以及一个业务主键。当插入一条记录的时候,会将起始时间设置为插入时间、 ...
分类:
其他好文 时间:
2020-08-24 16:40:47
阅读次数:
53
程序员经常要面临的一个问题就是:如何提高程序性能?这篇文章,我们循序渐进,从内存、磁盘I/O、网络I/O、CPU、缓存、架构、算法等多层次递进,串联起高性能开发十大必须掌握的核心技术。I/O优化:零拷贝技术I/O优化:多路复用技术线程池技术无锁编程技术进程间通信技术RPC&&序列化技术数据库索引技术缓存技术&&布隆过滤器全文搜索技术负载均衡技术准备好了吗,坐稳了,发
分类:
其他好文 时间:
2020-08-24 16:28:12
阅读次数:
61
昨天在开发的过程中,自己设计的mysql的一个表是自增主键,但是在插入数据的过程中,发现主键冲突。具体如下:我们是通过kafka作为消息队列,三个consumer,每个cosumer进行一些逻辑运算以后进行插入操作,插入到表t_a表中,mybatis使用的下面配置useGeneratedKeys="true"keyProperty="id"servcie逻辑如下,我们一次获取到多条插入数据库对象的
分类:
其他好文 时间:
2020-08-20 18:30:12
阅读次数:
66
-- 主键约束 -- 使某个字段不重复且不得为空,确保表内所有数据的唯一性。 CREATE TABLE user ( id INT PRIMARY KEY, name VARCHAR(20) ); -- 联合主键 -- 联合主键中的每个字段都不能为空,并且加起来不能和已设置的联合主键重复。 CREA ...
分类:
数据库 时间:
2020-08-19 19:14:54
阅读次数:
69
MySQL常用命令或设置 参考手册: MySQL开发人员官网参考文档 一.MySQL命令行登录 mysql -h${主机名或主机IP} -P${端口} -u${用户名} -p ${数据库名}; # 回车之后再输入密码 mysql -h${主机名或主机IP} -P${端口} -u${用户名} -p${ ...
分类:
数据库 时间:
2020-08-18 15:39:50
阅读次数:
86
环境:tidb、linux 1、先确认主键、创建分区表(用于代替原表) SELECT column_name FROM INFORMATION_SCHEMA.`KEY_COLUMN_USAGE` WHERE table_name='wpt_dzxx_chdzb_20200813' AND const ...
分类:
数据库 时间:
2020-08-18 13:52:51
阅读次数:
107
import mysql.connector conn= mysql.connector.Connect( host='localhost', user='root', passwd='admin', database='testcode' ) print('1.',conn) cmd = conn ...
分类:
数据库 时间:
2020-08-18 13:16:42
阅读次数:
92
表主要的就是主键,主键相关列, 主键的主要类型就是int 类型和 GUID 类型,各有各的特点,guid 类型肯定是唯一的,速度的话比int 类型要慢不少 关于数据库的冗余 还是要见一个满足三大范式四大特性的表,各有各的好处把,因为表少和表多的感觉是不一样的,当你查询的时候,操作一个表和操作多个表的 ...
分类:
其他好文 时间:
2020-08-13 11:48:19
阅读次数:
69
一.ORM 中常用字段和参数 1.常用字段 AutoField 自增列,可以将其理解为ID主键字段,注意的是必须填入参数 primary_key=True当model中如果没有自增列,则自动会创建一个列名为id的列? id = models.AutoField(primary_key=True) I ...
分类:
编程语言 时间:
2020-08-10 00:06:53
阅读次数:
70
MySQL InnoDB 引擎底层数据结构是 B+ 树,所谓的索引其实就是一颗 B+ 树,一个表有多少个索引就会有多少颗 B+ 树,mysql 中的数据都是按顺序保存在 B+ 树叶子节点上的(所以说索引本身是有序的)。主要目的有三个:1)提高范围查询效率;2)增加排序效率;3)提高扫表能力,顺序访问 ...
分类:
数据库 时间:
2020-08-08 20:09:12
阅读次数:
121