随笔分类 -  DB_数据库

数据库知识
摘要:数据库事务特性,脏读幻读等参考:数据库事务的四大特性以及4种事务的隔离级别-以及对应的5种JDBC事务隔离级别 Mysql的MVCC不能解决幻读的问题,但是Mysql还有间隙锁功能,Mysql的间隙锁工作在Repeatable Read隔离级别下面,可以防止幻读, MVCC工作在 :在REPEATA 阅读全文
posted @ 2017-05-30 18:07 aspirant 阅读(9088) 评论(6) 推荐(2) 编辑
摘要:1、存储引擎是什么? MySQL中的数据用各种不同的技术存储在文件(或者内存)中。这些技术中的每一种技术都使用不同的存储机制、索引技巧、锁定水平并且最终提供广泛的不同的功能和能力。通过选择不同的技术,你能够获得额外的速度或者功能,从而改善你的应用的整体功能。这些不同的技术以及配套的相关功能在MySQ 阅读全文
posted @ 2017-05-19 14:25 aspirant 阅读(2293) 评论(0) 推荐(0) 编辑
摘要:本篇讲诉数据库中事务的四大特性(ACID),并且将会详细地说明事务的隔离级别。 如果一个数据库声称支持事务的操作,那么该数据库必须要具备以下四个特性: ⑴ 原子性(Atomicity) 原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,这和前面两篇博客介绍事务的功能是一样的概念,因此事务的 阅读全文
posted @ 2017-05-15 16:42 aspirant 阅读(2768) 评论(0) 推荐(1) 编辑
摘要:1. 使用redis有哪些好处? (1) 速度快,因为数据存在内存中,类似于HashMap,HashMap的优势就是查找和操作的时间复杂度都是O(1) (2) 支持丰富数据类型,支持string,list,set,sorted set,hash (3) 支持事务,操作都是原子性,所谓的原子性就是对数 阅读全文
posted @ 2017-05-07 11:25 aspirant 阅读(1540) 评论(0) 推荐(0) 编辑
摘要:redis官网地址:http://www.redis.io/ 最新版本:2.8.3 在Linux下安装Redis非常简单,具体步骤如下(官网有说明): 1、下载源码,解压缩后编译源码。 (a)此时如果报错:/bin/sh: cc: 未找到命令 说明没有安装gcc 解决方法:$ yum -y inst 阅读全文
posted @ 2017-05-06 11:33 aspirant 阅读(1106) 评论(0) 推荐(0) 编辑
摘要:一、什么是数据库连接池? 官方:数据库连接池(Connection pooling)是程序启动时建立足够的数据库连接,并将这些连接组成一个连接池,由程序动态地对池中的连接进行申请,使用,释放。个人理解:创建数据库连接是一个很耗时的操作,也容易对数据库造成安全隐患。所以,在程序初始化的时候,集中创建多 阅读全文
posted @ 2017-04-22 11:15 aspirant 阅读(86392) 评论(8) 推荐(20) 编辑
摘要:例如:有1个数据库服务器,最大连接数允许300。但是我有1000个c/s结构的客户端采用连接池访问此数据库,如果连接池里面设置最小连接数是1,那么不是已经达到最大连接数300了吗?还有700个客户端怎么办? 楼主,打个比方会让你加深记忆。连接数据库就像冬天去澡堂洗澡,不能在半路上就把衣服脱光,要进了 阅读全文
posted @ 2016-09-21 10:00 aspirant 阅读(3922) 评论(0) 推荐(0) 编辑
摘要:比如: select id, name from table1 where name = 'x' union all select id, name from table2 where name = 'x' 与select * from (select id, name from table1&# 阅读全文
posted @ 2016-08-03 11:27 aspirant 阅读(2996) 评论(0) 推荐(0) 编辑
摘要:EXITS 和 IN 的区别: 从效率来看: 1) select * from T1 where exists(select 1 from T2 where T1.a=T2.a) ; T1数据量小而T2数据量非常大时,T1<<T2 时,1) 的查询效率高。 2) select * from T1 w 阅读全文
posted @ 2016-07-30 09:25 aspirant 阅读(3530) 评论(0) 推荐(0) 编辑
摘要:在mysql 中回复 psc文件 的时候 只能一步步来,先在navicat中建一个空数据库,然后点击有上角的备份==》回复备份==》 找到psc文件==》 注意此时不要急于点击 开始 , 看一下 Tab栏上有个对象选择==》 有Tables ,Views,Functions > 先选择 Tables 阅读全文
posted @ 2016-05-17 11:25 aspirant 阅读(1025) 评论(0) 推荐(0) 编辑
摘要:将两张表的情况全部列举出来 结果表: 列= 原表列数相加 行= 原表行数相乘 CROSS JOIN连接用于生成两张表的笛卡尔集。 在sql中cross join的使用: 1、返回的记录数为两个表的记录数乘积。 2、将A表的所有行分别与B表的所有行进行连接。 例如: tableA r1 r2 A B 阅读全文
posted @ 2016-01-27 20:52 aspirant 阅读(824) 评论(0) 推荐(0) 编辑
摘要:IO有四种类型:连续读,随机读,随机写和连续写,连续读写的IO size通常比较大(128KB-1MB),主要衡量吞吐量,而随机读写的IO size比较小(小于8KB),主要衡量IOPS和响应时间。数据库中的全表扫描是连续读IO,索引访问则是典型的随机读IO,日志文件是连续写IO,而数据文件则是随机 阅读全文
posted @ 2015-12-30 16:12 aspirant 阅读(7801) 评论(0) 推荐(0) 编辑
摘要:在数据库中,对无索引的表进行查询一般称为全表扫描。全表扫描是数据库服务器用来搜寻表的每一条记录的过程,直到所有符合给定条件的记录返回为止。 全表扫描的稳定性编辑 相对于索引范围扫描来说,全表扫描的成本是衡定不变的。无论你的查询是想访问一笔数据还是访问整个表的所有数据,全表扫描都会把整张表读出来。而索 阅读全文
posted @ 2015-12-30 15:44 aspirant 阅读(475) 评论(0) 推荐(0) 编辑
摘要:今天删除Mysql 数据库时候,没法删除,直接报错 41; 方法,进入 mysql的安装目录 我的是:D:\tools\Mysql\V76384-01\mysql-advanced-5.6.25-winx64\mysql-advanced-5.6.25-winx64\data 找到想删除的db:li 阅读全文
posted @ 2015-09-23 17:40 aspirant 阅读(805) 评论(0) 推荐(0) 编辑
摘要:(1) JAVA中 将 connection放到连接池中,每次使用连接 将 数据库的关闭连接放到 finally中; 阅读全文
posted @ 2015-09-21 13:01 aspirant 阅读(249) 评论(0) 推荐(0) 编辑
摘要:在Linux 上面装上了 Mysql 数据库,但是发现密码忘了,悲催,解决方法跟Window系统下一样的, 不管是哪个操作系统处理的思路是相同的,就是首先要把mysql的权限去掉,这样即使忘了密码,不使用密码,照样可以进入, 但是window 和linux 在 屏蔽mysql权限方面稍有不同;这个方 阅读全文
posted @ 2015-09-12 12:37 aspirant 阅读(440) 评论(0) 推荐(0) 编辑
摘要:之前想在自己的机器上搭建一个数据库,但是又怕占用内存太大,因此特地从网上下载了一个绿色版,免安装版本的,开始用着 还可以,后来重启机器发现悲催了,数据库用不了了, 决心好好整整Mysql 我的是 版本是:ysql-advanced-5.6.25-winx64 64位的Windows7 系统; (1) 阅读全文
posted @ 2015-09-12 12:14 aspirant 阅读(336) 评论(0) 推荐(0) 编辑