- 博客(16)
- 资源 (1)
- 收藏
- 关注
转载 千万级数据的导入方法
我们可以参照InnoDB使用的B+tree索引,如果每次插入记录都在索引的最后面,对索引调整较小;如果在索引中间,需要B+tree进行分裂合并等处理,会消耗比较多计算资源,并且插入记录的索引定位效率会下降,数据量较大时会有频繁的磁盘操作。3、数据按照主键排序后插入。无序的记录会增大维护索引的成本。减少了数据库连接的I/O开销;合并后日志量减少了。2、在事务中进行插入处理。减少创建事务的消耗。1、一条SQL语句插入多条数据.
2023-09-08 20:29:17
226
1
原创 linux命令
b ## 以批处理模式操作,启动后不显示交互命令提示符,方便将结果输出到其它程序或文件。# 列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。# 显示所有的程序,除了执行ps指令终端机下的程序之外。-u user ## 只显示user用户启动的进程。# 显示现行终端机下的所有程序,包括其他用户的程序。# 指定终端机编号,并列出属于该终端机的程序的状况。-c ## 显示完整的命令行,而不截断。# 列出程序时,显示每个程序所使用的环境变量。
2023-08-22 17:32:48
152
1
原创 快速排序算法
思路一:先交换 i 和 j, 遍历一轮 i j 相遇后最后再交换 key 和 j 。 public void quickSort(int[] intervals, int i, int j) { //i为数组的第一个 if (i>=j) { return; } int first = i; i++; int key = intervals[first]; while(i<j) { if (intervals[i] <= key)
2022-05-13 18:15:10
156
原创 Spring-Data-Jpa 保存时save和saveAndFlush的区别
save当instert时,会立即执行sql(但在commit之前仍然看不到数据)。 其他事务无法update同一行,即使set相同id,最后会以id+1的结果insert一条数据。可能跟事务的隔离级别有关。当update时,不会立即执行sql,console不会打印sql。 其他事务可以update同一行数据。saveAndFlush当update时当想要update数据时候,数据库会加上行锁。 其他事务会卡住无法及时commit。自定义的update语句会立即执行sql。不需要
2022-04-28 16:20:30
1319
原创 数据库的设计原则
1.三大范式第一范式(确保每列保持原子性);第二范式(确保表中的每列都和主键相关);第三范式(确保每列都和主键列直接相关,避免高级冗余也就是派生字段)。2.OLTP(Transactional)还是 OPAP(Analytical)OLTP关注数据的CRUD。OLAP关注数据分析、报表、趋势预测。“插入” 和 “更新” 操作相对比较少。目的是更加快速地查询、分析数据。3.不用绝对遵循“避免冗余”如果对性能有迫切的需求,考虑一下打破常规。常规情况下你需要做多个表的连接操作,而在非常规
2022-03-18 16:29:54
660
转载 synchronized
1. 修饰静态方法中的代码块,两个线程是不同的Demo对象,同一个类锁,线程2无法进入。把static去掉也一样。class MyThread1 implements Runnable { private Demo demo; public MyThread1(Demo demo) { this.demo = demo; } @Override public void run() { demo.demo1(); }}
2022-01-07 14:25:16
52
原创 关于单例模式防止反射攻击
1.1饿汉式不改成员变量:有效防止反射,当反射在前,先类加载,再反射构造方法(此时判断出已有实例)。当反射在后,先反射构造方法(此时判断出已有实例)。public class HungrySingleton { private final static HungrySingleton hungrySingleton; static{ hungrySingleton = new HungrySingleton(); } private Hungry
2021-12-31 15:55:10
495
原创 tomcat中server.xml配置文件中几个port的作用和区别
1.<Server port="8005" shutdown="SHUTDOWN">2.<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" useBodyEncodingForURI="true"/>3.<Connector port="8009" protocol="AJP/1.3" redirectPort="8443"/>1、.
2021-11-09 16:05:46
1214
转载 MySQL执行计划extra中的不同类型
MySQL执行计划extra中的using index 和 using where using index 的区别_数据库技术_Linux公社-Linux系统门户网站 只扫描索引树(覆盖索引) 回表 只扫描表数据 使用索引 Using index NULL 小范围扫描 Using where; Using index Using index condition 全扫描 Using where; U
2021-09-27 16:42:27
76
转载 获取分组后取某字段最大一条记录(求每个类别中最大的值的列表)
方法四:(效率最低, 此方式select pid 为dependent subquery,子查询依赖外部查询)方法三:(效率次之,当一个组中version最大值不唯一,只查其中一个)获取分组后取某字段最大一条记录。方法一:(效率最高)
2021-09-26 17:46:24
2170
1
转载 myeclipse遇到Error in init: Log already in use? 错误
查阅好多资料都说是因为部署两个项目在一个服务器中运行,而且都使用了jta处理事务造成的。然而我的出这个问题是因为万恶的myeclipse。不知道在什么时候偷偷的在tomcat部署目录里自动生成了一个名叫 项目名.myeclipse.bak 的相同的备份项目造成。(估计是myeclipse异常关闭造成,感觉还是eclipse顺手)的确是两个项目引起的...
2018-03-17 16:50:41
691
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人