- 博客(47)
- 收藏
- 关注
原创 SQL优化的方法
(1)建立物化视图或尽可能减少多表查询。(2)以不相干子查询替代相干子查询。(3)只检索需要的列。(4)用带in的条件子句等价替换or子句。(5)经常提交commit,以尽早释放锁。(6)避免嵌套的游标(Cursor)和多重循环等。(7)在经常查询的列上创建索引,提高查询效率。(8)避免使用模糊查询进行匹配,如果一定要使用,建议使用最左模糊匹配原则。(9)慢的查询的sql,根据性能和存储容量大小进行评估,适当的可以考虑水平分表和垂直分表,以提高sql的查询性能。
2023-05-30 10:01:43 10216
原创 SQL的进阶用法
在MySQL中ORDER BY排序除了可以用ASC和DESC之外,还可以使用自定义排序方式来实现。qselect * from movies ORDER BY FIELD(movie name,'神话','猎场','芳华','花木兰!','铜雀台','警察故事','天下无贼','四大名捕','惊天解密','建国大业','功夫瑜伽','咱们结婚吧','赛尔号4';'疯狂机器城');order by field(col_name,自定义排序结果集) --根据指定的顺序进行排序。
2023-05-25 14:20:13 1146
原创 MySQL数据库最常见的6种故障的排除方法
95%的 bug 都是和具体的sql 相关,通常是 MySQL crash 前执行的最后一个sql 有问题,因此定位 bug 时应打开 general query log,根据最后一个 sql 来查找线索。第二个参数是--console,这个参数会把错误信息输出到屏幕上,这个参数带来的一个弊端是所有的信息都输出到屏幕上,让屏幕显得比较乱,但对于我们调试却是很方便的;然后再在后面加上有把握的参数,可以一次只加一个参数,然后启动 mysqld,采用排除法逐步找出错误的参数。
2023-05-24 10:52:08 7553
原创 SQL优化的思路和步骤
in查询在进行cost代价计算时(代价=元组数 *IO平均值),是通过将in包含的数值,一条条去查询获取元组数的,因此这个计算过程会比较的慢,所以MVSOL设置了个临界值(eg_range_index_dive_limit),5.6之后超过这个临界值后该列的cost就不参计算了。对于大分页的场暴,可以优先让产品优化需求,如果没有优化的,有如下两种优化方式,一个是把上一次的最后一条数据,也即上面的c传过来,然后做"c< xxx”处理,但是这种一般需要改接口协议,并不一定可行。在索引上,避免使用NOT、!
2023-05-23 18:21:30 668
原创 day52
2.反射(1)、反射定义程序中的反射指程序运行状态中,1、对于给定的一个类(Class)对象,可以获得这个类(Class)对象的所有属性和方法;2、对于给定的一个对象(new XXXClassName<? extends Object>),都能够调用它的任意一个属性和方法。这种动态获取类的内容以及动态调用对象的方法和获取属性的机制,就叫做Java反射机制(2)、反射初识Class<User> clazz = User.class;...
2021-12-06 21:16:34 96
原创 day51
1、Filter 什么是过滤器 1、Filter 过滤器它是 JavaWeb 的三大组件之一。三大组件分别是:Servlet 程序、Listener 监听器、Filter 过滤器 2、Filter 过滤器它是 JavaEE 的规范。也就是接口 3、Filter 过滤器它的作用是:拦截请求,过滤响应。 2、Filter 的初体验 Filter 的工作流程图:Filter 过滤器的使用步骤: 1、编写一个类去实现 Filter 接口 2、实现过滤方法 doFilter()..
2021-12-05 19:32:29 221
原创 day50
1、Cookie 饼干 a)什么是 Cookie? 1、Cookie 翻译过来是饼干的意思。 2、Cookie 是服务器通知客户端保存键值对的一种技术。 3、客户端有了 Cookie 后,每次请求都发送给服务器。 4、每个 Cookie 的大小不能超过 4kb b)如何创建 Cookie Servlet 程序中的代码: protected void createCookie(HttpServletRequest req, HttpServletResponse resp)
2021-12-02 20:24:31 95
原创 day49
1.EL 表达式 a)什么是 EL 表达式,EL 表达式的作用? EL 表达式的全称是:Expression Language。是表达式语言。 EL 表达式的什么作用:EL 表达式主要是代替 jsp 页面中的表达式脚本在 jsp 页面中进行数据的输出。 因为 EL 表达式在输出数据的时候,要比 jsp 的表达式脚本要简洁很多。 EL 表达式的格式是:${表达式} EL 表达式在输出 null 值的时候,输出的是空串。jsp 表达式脚本输出 null 值的时候,输出的是 null
2021-12-01 21:06:19 103
原创 day48
day01-5请求转发请求转发是指,服务器收到请求后,从一次资源跳转到另一个资源的操作叫请求转发。6WEB中的路径在 javaWeb 中,路径分为相对路径和绝对路径两种: 相对路径是: . 表示当前目录.. 表示上一级目录 资源名 表示当前目录/资源名 绝对路径: http://ip:port/工程路径/资源路径 在实际开发中,路径都使用绝对路径,而不简单的使用相对路径。7WEB中“/”斜杠的不同含义在 web 中 / 斜杠 是一种绝对路径。 / 斜.
2021-11-30 21:31:27 91
原创 day47Javaweb初学
1web流程1.软件架构C/S:客户端/服务器端cs架构建立在专用的网络上,一般面向相对固定的用户群,它可以对权限进行多层次校验,提供了更安全的存取模式,对信息安全的控制能力很强;B/S:浏览器/服务器端 bs架构建立在广域网之上,面向是不可知的用户群,对安全的控制能力相对弱。1.2资源分类1. 静态资源:所有用户访问后,得到的结果都是一样的,称为静态资源.静态资源可以直接被浏览器解析,如: html,css,JavaScript 2. 动态资源:每个用...
2021-11-29 22:18:28 148
原创 day45
1.jQuery事件(1)、什么是事件1、页面对不同访问者的响应叫做事件。2、实例:在元素上移动鼠标、选取单选按钮、点击元素(2)、事件语法1.单击事件$("p").click(function(){// 动作触发后执行的代码!!});2.双击事件$("p").dblclick(function(){ $(this).hide(); })3.鼠标进入$("#p1").mouseenter(function(){ alert('您的鼠标移到了 ...
2021-11-25 21:17:07 373
原创 day44
1jQuery介绍1.1Javascript与jQuery比较js: 1、入口函数只有一个,window.onload2.浏览器兼容性:非常令人头疼,比如textContent虽然作为标准方法但是只支持IE8+以上的浏览器3.DOM错综复杂,实现简单的效果很麻烦4.代码容错性差,出错后导致后面的代码不执行jQuer:1、市场占有率稳步上升,代码比较少,功能强大2、DOM比较强大,事件处理,完全解决了浏览器的兼容性问题3、ajax操作(比较好)1.2什么是jQuey1、jQu.
2021-11-24 21:38:49 84
原创 day42
1.节点操作1.1概述根据 W3C 的 HTML DOM 标准,HTML 文档中的所有内容都是节点:整个文档是一个文档节点 document每个 HTML 元素是元素节点HTML 元素内的文本是文本节点每个 HTML 属性是属性节点注释是注释节点1.2节点类型通过noteType属性可以获取节点的类型document的节点类型---9console.log(document.nodeType);//9标签的节点类型---1varbox1=docu...
2021-11-22 19:51:32 193
原创 day41
1.webapi介绍1.1api的概念 API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。例如:alert()、prompt()、log()、reverse()、getMonths()任何开发语言都有自己的APIAPI的特征输入和输出(I/O)API的使用方法(console.log())1.2weba...
2021-11-21 21:58:58 613
原创 day40
1.数组所谓数组,就是将多个元素(通常是同一类型)按一定顺序排列放到一个集合中,那么这个集合我们就称之为数组。数组是一个有序的列表,可以在数组中存放任意的数据,并且数组的长度可以动态的调整。1.1通过数组字面量创建数组// 创建一个空数组vararr1=[];// 创建一个包含3个数值的数组,多个数组项以逗号隔开vararr2=[1, 3, 4];// 创建一个包含2个字符串的数组vararr3=['a', 'c'];// 可以通过数组的length属性获取...
2021-11-18 21:43:18 58
原创 day39
1. JavaScript介绍、JavaScript是什么1、JavaScript的历史Netscape(网景)在最初将其脚本语言命名为LiveScript,是布兰登.艾克发明的。后来Netscape在与Sun合作之后将其改名为JavaScript。JavaScript最初受Java启发而开始设计的,目的之一就是“看上去像Java”,因此语法上有类似之处,一些名称和命名规范也借自Java。JavaScript与Java名称上的近似,是当时Netscape为了营销考虑与Sun微系统达成协议的结果。J
2021-11-17 20:50:33 86
原创 day39
1.CSS就三个大模块:盒子模型、浮动、定位2.所谓盒子模型就是把HTML页面中的元素看作是一个矩形的盒子,也就是一个盛装内容的容器。每个矩形都由元素的内容、内边距(padding)、边框(border)和外边距(margin)组成.所有的文档元素(标签)都会生成一个矩形框,我们成为元素框(element box),它描述了一个文档元素再网页布局汇总所占的位置大小。因此,每个盒子除了有自己大小和位置外,还影响着其他盒子的大小和位置。3.边框边框就是那层皮。语法:border : bord
2021-11-16 22:17:43 894
原创 day36
1特殊字符2注释在HTML中还有一种特殊的标签——注释标签。如果需要在HTML文档中添加一些便于阅读和理解但又不需要显示在页面中的注释文字,就需要使用注释标签。其基本语法格式如下:<!-- 注释语句 -->ctrl + / 或者 ctrl +shift + /注释内容不会显示在浏览器窗口中,但是作为HTML文档内容的一部分,也会被下载到用户的计算机上,查看源代码时就可以看到。3标签列表容器里面装载着文字或图表的一种形式,叫列表。列表最大的特点就是:整...
2021-11-13 21:32:28 159
原创 day35 IP归属地在线查询平台
项目介绍背景根据IP得到位置,加标签进行大数据分析,比如淘宝推荐等提供优质数据www.ip.cn等 查询IP需求IP 分析 归属地信息 , 查找在毫秒内完成IP地址库,公网都是开放的IANA : 国际组织,负责公网IP维护分发技术栈Eclipse,JavaSE中面向对象、IO流、二分法算法、Base64编码、工具类封装目标通过开发IP地址归属地查询平台,我们需要对JavaSE综合技术有所提升,增强实战能力。学习完该项目我们应该具备如下能力:1 面向对象程序设计..
2021-11-12 21:53:33 144
原创 Day34IP归属地在线查询平台
项目介绍背景根据IP得到位置,加标签进行大数据分析,比如淘宝推荐等提供优质数据www.ip.cn等 查询IP需求IP 分析 归属地信息 , 查找在毫秒内完成IP地址库,公网都是开放的IANA : 国际组织,负责公网IP维护分发技术栈Eclipse,JavaSE中面向对象、IO流、二分法算法、Base64编码、工具类封装目标通过开发IP地址归属地查询平台,我们需要对JavaSE综合技术有所提升,增强实战能力。学习完该项目我们应该具备如下能力:1 面向..
2021-11-11 23:51:25 214
原创 day33
1开发工具我们主要用的开发工具有 编辑器、浏览器、photoshop。编辑器常用的前端编辑器有:dreamweaver、sublime、webstorm、Hbuilder、vscode浏览器浏览器是网页显示、运行的平台,常用的浏览器有IE、火狐(Firefox)、谷歌(Chrome)、Safari和Opera等。我们平时称为五大浏览器。2浏览器内核浏览器内核又可以分成两部分:渲染引擎(layout engineer 或者 Rendering Engine)和 JS 引渲染引擎
2021-11-10 22:01:47 72
原创 day32
1.JDBCJDBC定义了一套规范标准,它对应的是各种接口与抽象类(通常对应java.sql包下面的各种类与接口),具体实现交给各数据库厂商去完成, MySQL的有自己的实现类并打成jar包发布,供程序开发人员使用;Oracle也有自己的实现jar包。JDBC : Java DataBase Connectivity (java数据库链接)是让java链接数据库的APIAPI : Application Programming Intergace (应用程序接口)就是函数库...
2021-11-09 22:11:54 40
原创 day29
1SQLSQL,它的全称叫Structured Query Language,结构化的查询语言。之所以出现这个东西,是为了统一/屏蔽不同数据库厂商生产的数据库产品之间的差异。SQL定义了一系列标准和规范,数据库厂商也需要按照这个规范来,当然会有一些细小的差别,相比没有规范来说,要好很多比如 项目后期由于某些原因,需要进行数据库更换,那么操作数据库的语句就都需要更改,而SQL出现,可以避免这个问题2DCL2.1概述DDL : Data Definition Language 数据库定义
2021-11-04 20:34:39 260
原创 day28
1常见中间操作1.1概述一个中间操作链,对数据进行处理,一个流可以有0~N个中间操作他们每一个都返回新的流,方便下一个进行操作但是只能有一个终止操作1.2常见中间操作filter : 对元素进行过滤筛选,不合符的就不要了distinct : 去掉重复元素skip : 跳过多少元素limit : 取最大条数(前几条)map : 对集合中的元素进行遍历并操作sorted : 排序1.3常见异常Stream使用之后,必须生成新的流,不能使用原来的stre...
2021-11-03 22:00:33 91
原创 day27
1LambdaLambda表达式是一种没有名字的函数,也可称为闭包,是Java 8 发布的最重要新特性。本质上是一段匿名内部类,也可以是一段可以传递的代码。还有叫箭头函数的...Lambda表达式就是一个匿名内部类的简写方式使程序更加简洁清晰,编程效率也得到了提高语法结构:可选类型声明:不需要声明参数类型,编译器可以统一识别参数值。可选的参数圆括号:一个参数无需定义圆括号,但多个参数需要定义圆括号。可选的大括号:如果主体包含了一个语句,就不需要...
2021-11-02 21:40:23 71
原创 day26
1.正则表达式正则表达式定义了字符串的模式。n正则表达式可以用来搜索、编辑或处理文本。正则表达式定义了字符串的模式,可以用来 搜索, 编辑 , 处理问题,还可以做数据提取操作不仅限于某一种语言,但是在每种语言中有细微的差别java中 1.4推出,java.util.regex 包下在java中 使用\转移符,把有意义字符转换为无意义字符但是在正则表达式中,\也是转移符,所以如果我们再java中写正则表达式的转移符的话,要写两个\\常用语法 : \ ...
2021-11-01 21:42:51 123
原创 Day25
1单例模式private Singleton_01() {}// volatile : 防止指令重排private volatile static Singleton_01 s = null;// public synchronized static Singleton_01 getInstance() {public static Singleton_01 getInstance() {if (s == null) {synchronized (Singleton.
2021-10-31 02:01:47 208
原创 day24
1.Joinjoin : 合并线程,多个线程合并为一个线程2 yieldyield : 暂停当前正在执行的线程,并让其他线程执行 1 静态方法,写在哪个线程中,哪个线程让位 2 给同优先级让位,不同优先级不让位 3 只让出当前执行的时间片,下次让不让另说 yield()应该做的是让当前运行线程回到可运行状态,以允许具有相同优先级的其他线程获得运行机会。 因此,使用yield()的目的是让相同优先级的线程之间...
2021-10-29 21:27:33 48
原创 day23
1.程序:是为完成特定任务、用某种语言编写的一组指令的集合。即指一 段静态的代码,静态对象进程是程序的一次执行过程,或是正在运行的一个程序。是一个动态的过程:有它自身的产生、存在和消亡的过程。——生命周期线程:进程可进一步细化为线程,是一个程序内部的一条执行路径。若一个进程同一时间并行执行多个线程,就是支持多线程的线程作为调度和执行的单位,每个线程拥有独立的运行栈和程序计数器(pc),线程切换的开销小 一个进程中的多个线程共享相同的内存单元/内存地址空间à它们从同一堆中分配对象,可以 访问相同
2021-10-28 21:34:28 138
原创 day22
1.缓冲流1.1概述1.2BufferedIntputStream1.3BufferedOutputStream1.4BufferedReader1.5BufferedWriter2转换流2.1概述 输入流 输出流 InputStreamReader OutputStreamWriter 【特点】转换流是指将字节流向字符流的转换,主要有InputStream...
2021-10-27 21:13:58 73
原创 day21
1IO1.1概述流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操作。I : input 输入O : output 输出输入 : 就是把数据输入到内存中输出 : 就是把内存中的数据写出到外面1.2分类按处理数据类型的不同,分为字节流和字符流 按数据流向的不同,分为输入流和输出流。(入和出是相对于内存来讲的) 按功能不同,分为节点流和处理流节点流:.
2021-10-26 21:24:38 49
原创 Day20
1set1.1散列表散列表 : 可以理解为数组保存元素是个链表 散列表中保存的是键值对(K和V) hashCode : hash算法,是把不定长的数据改变为定长的数据,是一种安全的加密算法,但不保证唯一 同一个对象生成多次hash值,那么值一定是相同的, 不同对象也有可能生成相同的hash值添加过程 : 1 先调用添加的K,调用hashCode生成hash值 2 根据hash值计算数组下标...
2021-10-25 21:10:39 76
原创 Day19 比较器 set
1.TreeSet1.1概述set特点 : 无序 不可重复,添加顺序和取出顺序不一定一致TreeSet : 存进去的元素,会按照某个规则进行排序数字 : 从小到大字符串 : 每一位的ASCII日期 : 自然日期1.2使用方式2排序2.1ComparableTreeSet为什么可以排序?因为添加的元素都实现了Comparable接口在向TreeSet中添加数据的时候,会自动调用该对象的compareTo()方法所以 存储自定义类型的时候,如果要使用Tr...
2021-10-24 20:51:32 116
原创 day18 集合
1.Collection1.1概述Java集合是使程序能够存储和操纵元素不固定的一组数据。 所有Java集合类都位于java.util包中。【问】:之前我们需要把多个元素放到一起的时候,使用的是数组。那么为何还要提供Java集合工具类呢?我们通过对比数组和Java集合工具类来解释Java集合工具类的必要性。Collection是父类,所以里面的方法是子类都有的 数组 集合 长度固定 长度不固定 ..
2021-10-21 20:55:58 82
原创 day17 异常机制
1.异常机制1.1概述异常是Java中提供的一种识别及响应错误情况的一致性机制。有效地异常处理能使程序更加健壮、易于调试。异常发生的原因有很多,比如:用户输入了非法数据 要打开的文件不存在 网络通信时连接中断 JVM内存溢出 这些异常有的是因为用户错误引起,有的是程序错误引起的,还有其它一些是因为物理错误引起的。异常发生的原因有很多,尤其是用户输入和要打开的资源不存在。这些异常出错后,后导致程序生命周期终止执行,从错误代码开始,之后的代码都不会执行。java中 有一个专门模拟异常.
2021-10-20 20:43:35 52
原创 Day15常用API
1.包装类1.1是什么包装类提供了一种将基本类型用作对象的方法。 Java中的数据类型分为基本数据类型和引用数据类型,其中基本数据类型是不具有对象特征的,也就是说它们不能像对象一样拥有属性和方法,以及对象化交互。包装类的产生就是为了解决基本数据类型存在的这样一些问题,通过包装类可以让基本数据类型获取对象一样的特征,行使对象相关的权力。1.2基本使用作为和基本数据类型对应的类类型存在,方便涉及到对象的操作提供每种基本数据类型...
2021-10-19 21:49:13 52
原创 day15
1 String是java.lang.String,使用不需要导包String是字符串类,是引用类型,底层是char数组,所以String的特性几乎和数组一致1 字符串一旦创建,该字符串对象不能更改2 为了提高字符串的访问效率,java虚拟机使用了一种缓存技术,可以对字符串操作更加简单方便,更加高效(字符串常量池)3 字符串会被保存在静态区中的常量池中,可以复用性增强当我们用到一个重复的字符串的时候,会去常量池中进行检索,如果有该字符串,则直接指向,如果没有就创建创建一个字符串对象...
2021-10-18 20:39:32 49
原创 day11
封装 : 控制用户对类的修改程度,隐藏属性和行为的具体实现,只提供公开的接口即可简单来说,你只需要知道我能干什么,不需要知道我是怎么做的,也能够加强代码的安全性 package : 软件包机制 限制的是编译之后的class文件的保存目录,和源文件无关 eclipse中,源文件也必须在这个目录中,这是eclipse的问题,和package无关 而java中的package 只是规定class文件 1 主要为了解决命名冲...
2021-10-13 21:21:42 82
原创 day10
变量 : 存储数据,方便操作变量声明 : 数据类型 变量名 = 值;数据类型 : 基本和引用 , 引用 : 类,数组,接口 所有引用类型,都可以赋值为null整数 : 默认0 , 小数 : 默认0.0 , 布尔 : 默认false , 字符 : 默认 \u0000 , 引用 : 默认 null 创建了一个OOP_01类型的变量 , 并且创建了一个OOP_01的对象,把该对象的内存地址,赋值给o这个变量 实例化步骤 :1 把类加载对静态区2 new 会在堆内存创建内存...
2021-10-12 21:22:21 67
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人