
MySql
文章平均质量分 86
boxyuan
这个作者很懒,什么都没留下…
展开
-
Mysql数据库B+树索引,聚集索引和非聚集索引
索引数据结构:二叉树:单边数据增长的情况数据查询会很慢红黑树(平衡二叉树):单边数据增长会做平衡处理,有自动平衡功能,左子树和右子树相差绝对值<=1,缺点:随着数据量增加树高越来越高,查询速度也越来越慢B树:基于平衡二叉树每个节点放多个元素,高度即变矮hash索引:对索引的key进行一个hash运算就可以定位到数据的存储位置,大多数时比B+树索引更快,仅能满足“=” “in”,不支持范围查找,hash冲突问题B+树:非叶子节点放索引(冗余索引,存放每一个磁盘页的第一个元素,为了构建B+树),叶子节点原创 2022-05-17 16:38:33 · 791 阅读 · 0 评论 -
常用sql优化方法,索引失效场景,explain执行计划
常用sql优化方法禁止使用select *,只查询出需要用到的字段 尽量减少表关联 合理使用索引 联合索引遵循最左前缀法 使用执行计划explain查看sql执行信息是否走索引 避免回表(覆盖索引) 分页查询优化索引失效场景...原创 2022-04-12 19:18:05 · 673 阅读 · 0 评论 -
DB Utils框架的使用
DBUtils框架的使用: commons-dbutils 是 Apache 组织提供的一个开源 JDBC工具类库,它是对JDBC的简单封装,学习成本极低,并且使用dbutils能极大简化jdbc编码的工作量,同时也不会影响程序的性能。因此dbutils成为很多不喜欢hibernate的公司的首选。 API介绍:原创 2017-02-03 13:25:18 · 1009 阅读 · 0 评论 -
存储过程的使用
SHOW TABLES;SELECT *FROM USER;--CREATE TABLE emp(id INT PRIMARY KEY,NAME VARCHAR(10),pwd VARCHAR(10),deptname VARCHAR(10))DROP TABLE empSELECT * FROM emp;-- 创建存储过程(输入参数)INSERT INTO emp VA原创 2017-09-30 12:15:11 · 299 阅读 · 0 评论 -
使用JSP做文件上传
1 文件上传表单 1)上传文件的本质是文本复制的过程 2)技术层面,在Java中一定会用到IO操作,主要以二进制方式读写 3)传统方式下,对于上传文件字段不同的浏览器有着不同的解析方式,例如:IE6:upfile=c:\aa\bb\a.JPG非IE6: upfile=a.JPG 4)可以将form以MIME协议的方式将上传文件传递到服务端,服务端以二进制流的原创 2017-02-03 14:31:19 · 421 阅读 · 0 评论 -
元数据的使用
元数据的使用进入DB Brower(按照下面操作): 选择最前面的小图标(open prospective ): 选择 Database Explorer: 进入Database Explo原创 2017-02-03 10:06:29 · 512 阅读 · 0 评论 -
配置JDBC连接池
连接池 现在很多Web服务器(Weblogic, WebSphere, Tomcat)都提供了DataSoruce的实现,即连接池的实现。通常我们把DataSource的实现,按其英文含义称之为数据源,数据源中都包含了数据库连接池的实现。也有一些开源组织提供了数据源的独立实现: DBCP 数据库连接池(tomcat):DBCP 是 Apache 软件基原创 2017-02-02 15:17:38 · 2458 阅读 · 0 评论 -
JDBC设置事务的隔离级别和转账案例
转帐案例 1)参见图> 2)项目中,事务可能在dao层,也可能在service层,不论在哪一层,都必须确保使用的都是同一个connection 3)为了确保在Service和Dao层中用到的Connection一致,你可以使用如下方案解决:a)将Service中的Connection传入Dao中设计缺点:Service和Dao代码过分藕合在Service原创 2017-02-02 11:25:28 · 716 阅读 · 0 评论 -
存数过程和事务
1 存储过程 1)用当地数据库语言,写的一段业务逻辑算法,并该算法存储在客户端 2)使用存储过程需要用于CallableStatement接口,同时需要使如下SQL命令调用:{call add_pro(?,?,?)} 3)对于存储过程的输出参数,需要注册:cstmt.registerOutParameter(3,Types.INTEGER); 4)取得返回值时,原创 2017-01-29 19:20:17 · 392 阅读 · 0 评论 -
批处理和获取主键值
批处理: 1)想发送多条SQL,又要降低与数据库系统的交互,这时使用批处理 2)Statement对象:适合对不同结构的SQL做批处理操作 3)PreparedStatement对象:适合对相同结构的SQL做批处理操作采用PreparedStatement.addBatch()实现批处理优点:发送的是预编译后的SQL语句,执行效率高。缺点:只能应用在SQL语句原创 2017-01-26 16:55:40 · 498 阅读 · 1 评论 -
MySql与数据库初识
1 什么是数据库 1)SQL=Structure Query Language 2)存数据的仓库/集合,并有一定的规则结构 3)SQL是客户端操作数据库一种工具/命令,主要以存取为主 2 各种常用数据库简介 Oracle/Java SQLServler/Microsoft DB2/IBM ... ... MySQL->L原创 2017-01-24 14:52:34 · 506 阅读 · 0 评论 -
大对象操作
BLOB (binary large object),二进制大对象,是一个可以存储二进制文件的容器。在计算机中,BLOB常常是数据库中用来存储二进制文件的字段类型。BLOB是一个大文件,典型的BLOB是一张图片或一个声音文件,由于它们的尺寸,必须使用特殊的方式来处理(例如:上传、下载或者存放到一个数据库)。MySQL中,BLOB是个类型系列,包括:TinyBlob、Blob原创 2017-01-26 16:27:53 · 468 阅读 · 1 评论 -
SQL注入
1 Statement和PreparedStatement的特点 a)对于创建和删除表或数据库,我们可以使用executeUpdate(),该方法返回0,表示未影向表中任何记录 b)对于创建和删除表或数据库,我们可以使用execute(),该方法返回false,表示创建和删除数据库表 c)除了select操作返回true之除,其它的操作都返回false d)Prepared原创 2017-01-25 20:57:43 · 250 阅读 · 0 评论 -
合计函数和表约束实现
0 合计函数 avg() max(),min(),当max()和min()函数位于日期类型时,分别取得最近日期和最早日期案例: 求一个班级数学平均分。 select sum(math) / count(math) as 数学平均分 from student; select avg(math) as 数学平均分 from student;原创 2017-01-24 17:24:28 · 315 阅读 · 0 评论