- 博客(12)
- 收藏
- 关注
原创 MYSQL 5.6和5.7对GROUP BY 不同的优化
sql解释表明 执行结果同以下sql,由于没有排序会默认主键排序,那id最小的一条,和预期不符。varchar(255) NOT NULL COMMENT ‘字段标记’,sql解释存在临时表,对临时表进行group by,取得id最新的一条数据。varchar(255) NOT NULL COMMENT ‘键’,
2024-05-09 18:01:09 664
原创 mybatis的Mapper使用自定义注解
一般项目都会区分读写库或者多数据源这就导致不同的查询需要去不同的库查询我们公司的多数据源采用的是注解的形式实现的举例:@ReadDataSource注解去读库@WriteDataSource注解去写库(注解的实现类里做的切换数据源的操作)使用spring的jdbctemplete再持久层方法上加注解是可以实现数据源切换的例如: @ReadDataSource public List<Map<String, Object>> get() { String
2021-08-18 10:15:19 2499
原创 关于部分mysql优化的经验
这是我三年开发积累的一些mysql优化的经验,话不多说1.inner join ,in ,exists拿两张表举例CREATE TABLE CustSupplier (id int(11) NOT NULL AUTO_INCREMENT,name varchar(255) DEFAULT NULL COMMENT ‘供应商名称’,deleted tinyint(4) NOT NULL DEFAULT ‘0’ COMMENT ‘1:已删除’,PRIMARY KEY (id)) ENGINE=I
2021-07-07 16:05:11 87
原创 记一次tomcat启动问题
一个springboot项目内置tomcat启动没问题,采用本地tomcat启动,tomcat启动成功但是项目不部署的问题,springboot项目内置tomcat启动时只需要有启动类就行了,但是采用外置tomcat启动就需要增加一个类继承SpringBootServletInitializer。示例public class SpringBootStartApplication extends SpringBootServletInitializer { @Override prot
2021-05-19 14:21:56 84
原创 一款拼图小游戏实现
// 最近看了个拼图小游戏的实现教程,就自己写了个#include <stdio.h>#include <graphics.h>#include <time.h>#include <stdlib.h>int map[4][4];IMAGE p;HWND hwnd = NULL;struct coordinate { int x; int y;};coordinate one = {-1,-1};void initData() { i
2021-04-06 10:36:30 77
原创 关于方法多次执行效率会变高的原因探讨
StopWatch timer1 = new StopWatch();timer1.start();List<Map<String, Object>> rule = new ArrayList<>();rule.add(businesstype);RuleAnalysis.analysisObject(map, rule);System.out.println("方法1计算出的值:"+map.get("agentprofitmargin"));timer1..
2021-03-12 12:37:51 302
原创 算法学习6
图的最短路径问题:在网络中,求两个不同顶点之间的所有路径中 边的权值之和最小的路径这条路径就是两点之间的最短路径第一个顶点为源点最后一个顶点叫终点单源最短路径问题:从某个固定源点触发,求其到所有其他顶点的最短路径多源最短路径问题:求任意两个顶点间的最短路径问题:从图中找出一个顶点 使得这个顶点到其他顶点的和最小解:package com.example.demo.algorithm;import lombok.Getter;import java.util.Objects;/*
2020-09-21 17:58:42 72
原创 算法学习5
一个最大堆package com.example.demo.algorithm;/** * @author Aloli * @date 2020/9/10 13:35 * 一个最大堆 */public class MaxHeap { private int defaultData = Integer.MAX_VALUE; private int[] elementData; private int size; private int defaultSi
2020-09-10 18:00:53 75
原创 算法学习4
二叉搜索树:非空左子树的所有键值小于其根结点的键值非空右子树的所有键值大于其根结点的键值左,右子树都是二叉搜索树平衡二叉树:任意结点的左右子树高度差的绝对值不超过1平衡因子:左子树的高度-右子树的高度学到了二叉树,所以把HashMap的红黑树源码拿出来分析了下:从put方法开始:public V put(K key, V value) { return putVal(hash(key), key, value, false, true);}final V putVal(int
2020-08-28 13:27:44 137
原创 算法学习3
查找:根据某个给定关键字K,从集合R中找出关键字与K相同的记录静态查找:集合中的记录是固定的,没有插入和删除操作,只有查找动态查找:集合中记录是动态变化的,除了查找还有插入,删除操作顺序查找: /** * 顺序查找 * @param arr * @param k * @return */ public static int SeqSearch(int[] arr,int k){ for (int i= 0;i<ar
2020-08-26 18:24:00 109
原创 算法学习2
算法学习2用堆栈简单实现加减乘除的计算,实现方案为把中缀表达式通过堆栈换成后缀表达式并计算例:中缀表达式为:a-b/c+s转换成后缀表达式:abc/-s+我是在中国大学慕课网上面学习的数据结构这门课程,简单实现下课程里说的堆栈的用法import java.util.*;/** * @author Aloli * @date 2020/8/25 16:23 */public class CalculationRules { /** * 一个数字由多个字符组成
2020-08-26 12:17:50 169
原创 算法学习1
求最大子列和问题: 给定N个整数的序列{A1,A2,A3,…,An},求最大连续子列和,算法:求出每一个子列的和 然后得到最大的和返回;static int MaxSum1(int[] arr){ int N = arr.length; int thisSum = 0,maxSum = 0; for (int i = 0 ;i < N;i++){ for(int j = i;j< N;j++){ thisSum = 0;
2020-08-25 18:10:17 71
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人