数据库
红的羊
主要是项目开发:
后台:java
前段:html、jsp
开发工具:eclipse、idea
展开
-
docker安装mongo
// 获取官网镜像docker pull mongo// 运行docker run --name mongo -dit --restart=always -p 27017:27017 -v /root/docker/mongo/datadir:/data/db -v /home/tomcat/docker/mongo/conf:/etc/mongo -e MONGO_INITDB_ROOT...原创 2019-03-27 10:10:00 · 208 阅读 · 0 评论 -
事务的基本要素(ACID)
原子性(Atomicity):事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节。事务执行过程中出错,会回滚到事务开始前的状态,所有的操作就像没有发生一样。也就是说事务是一个不可分割的整体,就像化学中学过的原子,是物质构成的基本单位。一致性(Consistency):事务开始前和结束后,数据库的完整性约束没有被破坏 。比如A向B转账,不可能A扣了钱,B却没收到。隔离性(I...原创 2019-03-25 22:05:02 · 433 阅读 · 0 评论 -
centos安装mysql()
建议使用docker安装安装先检测是否已经存在mysql,存在删除$ rpm -qa | grep mysql mysql-libs-5.1.52-1.el6_0.1.x86_64 $ rpm -e mysql-libs-5.1.52.x86_64 –nodeps如果不想用root用户,可以创建一个mysql专用的只能使用shell的用户来操作语句:adduser –system ...原创 2019-03-25 21:50:25 · 98 阅读 · 0 评论 -
MySQL隔离级别
数据库的ACIDhttps://blog.csdn.net/u014803081/article/details/88807568事务的并发问题脏读:事务A读取了事务B未commit的数据,然后B回滚操作,那么A读取到的数据是脏数据不可重复读:事务 A 多次读取同一数据,事务 B 在事务A多次读取的过程中,对数据作了更新并提交,导致事务A多次读取同一数据时,结果 不一致。幻读:第一...原创 2019-03-25 22:39:47 · 1348 阅读 · 1 评论 -
mysql-索引算法
BTREEBTREE是多叉树,多路径搜索树。有N棵子树的节点它包含N-1个关键字,例如,有3个子树的非叶子节点,那么就有2个关键字,每个关键字不保存数据,只用来存储索引(在索引存储数据时,将索引指向关键字的值也存储进来。最终实现key = &get; value结构)。所有的数据最终都要落在叶子节点,所有的叶子节点包括关键字信息以及指向这些关键字的指针,而且叶子节点是根据关键字大小、顺序...原创 2019-03-25 22:50:17 · 594 阅读 · 0 评论 -
docker安装redis
// 获取官网镜像docker pull redis下载redis.conf,然后拷贝到/docker/redis/conf// 启动 —appendonly 开启AOF模式docker run --name redis -dit --restart=always -p 6379:6379 -v /docker/redis/conf:/etc/redis redis:4.0 redi...原创 2019-03-27 10:09:53 · 85 阅读 · 0 评论 -
docker安装mysql5.7
// 获取官网镜像docker pull mysql:5.7// 创建docker run --name mysql -v /root/docker/mysql/conf:/etc/mysql/conf.d -v /root/docker/mysql/data:/var/lib/mysql -v /root/docker/mysql/log:/var/log/mysql -p 3306:33...原创 2019-03-26 21:49:19 · 116 阅读 · 0 评论 -
docker安装mysql5.7
下载原创 2019-03-26 13:56:06 · 102 阅读 · 0 评论 -
数据库比较
注:① 现在数据库类型分为关系型数据库和非关系型数据库(NoSQL)。关系型数据库:是指采用了关系模型来组织数据的数据库。关系模型又指的就是二维表格模型,而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。主要的有Mysql、Oracle、sqlserver、db2等。非关系型数据库(NoSQL=No Only Sql):主要有mongodb、redis等。② mysql...原创 2019-03-26 09:32:57 · 550 阅读 · 0 评论 -
Statement与PreparedStatement的区别
1、PreparedStatement支持动态设置参数,Statement不支持。2、PreparedStatement可避免如类似 单引号 的编码麻烦,Statement不可以。3、PreparedStatement支持预编译,Statement不支持。4、在sql语句出错时PreparedStatement不易检查,而Statement则更便于查错。5、PreparedStatemen...原创 2019-03-25 23:07:55 · 431 阅读 · 0 评论 -
数据库锁
乐观锁、悲观所乐观锁(Optimistic Lock), 顾名思义,就是很乐观,每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在更新的时候会判断一下在此期间别人有没有去更新这个数据,可以使用版本号等机制。乐观锁适用于多读的应用类型,这样可以提高吞吐量,像数据库如果提供类似于write_condition机制的其实都是提供的乐观锁。悲观锁(Pessimistic Lock), 顾名思义...原创 2019-03-25 23:06:49 · 97 阅读 · 0 评论 -
关系型数据库三大范式
第一范式(确保每列保持原子性)第一范式是最基本的范式。如果数据库表中的所有字段值都是不可分解的原子值,就说明该数据库表满足了第一范式。第二范式(确保表中的每列都和主键相关)第二范式在第一范式的基础之上更进一层。第二范式需要确保数据库表中的每一列都和主键相关,而不能只与主键的某一部分相关(主要针对联合主键而言)。也就是说在一个数据库表中,一个表中只能保存一种数据,不可以把多种数据保存在同一张数...原创 2019-03-25 22:57:20 · 180 阅读 · 0 评论 -
mysql调优
优化sql、索引(建索引)、去外键和事务禁用select *使用select count() 统计行数尽量少运算尽量避免全表扫描,如果可以,在过滤列建立索引尽量避免在where子句对字段进行null判断尽量避免在where子句使用!= 或者<>尽量避免在where子句使用or连接尽量避免对字段进行表达式计算尽量避免对字段进行函数操作尽量避免使用不是复合索引的前缀列进...原创 2019-03-25 22:53:44 · 87 阅读 · 0 评论 -
mysql-explain
一、EXPLAIN 的作用EXPLAIN :模拟Mysql优化器是如何执行SQL查询语句的,从而知道Mysql是如何处理你的SQL语句的。分析你的查询语句或是表结构的性能瓶颈。mysql> explain select * from tb_user;+----+-------------+---------+------+---------------+------+---------...原创 2019-03-25 22:52:53 · 71 阅读 · 0 评论 -
mysql-索引
索引类型1.普通索引是最基本的索引,它没有任何限制。它有以下几种创建方式:(1)直接创建索引CREATE INDEX index_name ON table(column(length))(2)修改表结构的方式添加索引ALTER TABLE table_name ADD INDEX index_name ON (column(length))(3)创建表的时候同时创建索引CREAT...原创 2019-03-25 22:51:18 · 86 阅读 · 0 评论