
数据库
文章平均质量分 81
木霖森77
这个作者很懒,什么都没留下…
展开
-
MYSQL中的主键自增属性总结
MySQL中的自增字段对于我这种小白来说,简直就是个迷。现在做一个简单记录,以便之后学习补充。1.新建表的时候设置主键自增:2.表已经存在时,设置主键自增:需要将primary key drop掉,才可以继续进行操作。否则会出现异常。具体步骤见另一个文章。https://mp.youkuaiyun.com/mdeditor/83021821#3.将自增主键列的数值重置。好吧,同见另一个文章。ht...原创 2019-01-20 15:34:31 · 1580 阅读 · 1 评论 -
MySQL调优(慢查询、EXPLAIN以及索引、分页优化)
首先,为什么要进行MySQL的优化:1.可能查询过慢导致页面无法加载或者阻塞数据无法提交;2.避免数据库链接TimeOut产生页面5XX的错误。从上图可以看出,SQL以及索引的优化是最重要的,成本最低效果最好。所以我们来学习一下 如何 进行SQL的优化。慢查询日志配置慢查询日志用于对有效率问题的SQL进行监控。show variables like 'slow_query_log'; ...原创 2019-01-10 09:53:35 · 497 阅读 · 1 评论 -
redis简单介绍以及 实现持久化 RDB AOF
Redis实现数据持久化的两种实现方式:RDB:指定的时间间隔内保存数据快照AOF:先把命令追加到操作日志的尾部,保存所有的历史操作(append only file)二者的区别RDB持久化是指在指定的时间间隔内将内存中的数据集快照写入磁盘,实际操作过程是fork一个子进程,先将数据集写入临时文件,写入成功后,再替换之前的文件,用二进制压缩存储。AOF持久化以日志的形式记录服务器所处理...原创 2019-01-22 23:50:04 · 184 阅读 · 0 评论 -
下载安装mysql8.0.11
因为重装了系统,所以需要重新装mysql。附上下载和安装教程,以便之后学习复习。http://www.cnblogs.com/xiongzaiqiren/p/8970203.html原创 2019-02-18 11:36:42 · 201 阅读 · 0 评论 -
Navicat for MySQL 安装和破解以及使用Navicat连接mysql8
Navicat for MySQL 安装和破解:见教程:https://blog.youkuaiyun.com/wypersist/article/details/79834490连接Mysql进入Navicat之后,选择连接,用户名默认的就是root,密码是自己定的密码。连接名自行决定。我看一般是sa。使用Navicat新建数据库时选择的排序规则有什么区别utf_bin和utf_gener...原创 2019-02-18 15:56:38 · 3530 阅读 · 0 评论 -
mysql naivcat创建表之后 设置外键 出现 cannot add foreign key constraint
表已经创建完毕,之后想设置外键,出现下列错误的原因如下:(外键的设置请看下图,相信读者可以看出如何设置外键,若不然,请自行百度)要关联的字段类型或长度不一致。两个要关联的表编码不一样。将“删除时”和“更新时”都设置相同,如都设置成CASCADE。某个表已经有记录了,添加外键失败,这时候只需要将两个要关联的表中的数据清空再从新添加外键关系即可。详见:https://b...原创 2019-02-24 10:48:52 · 364 阅读 · 0 评论 -
mysql 数据库优化问题
索引的使用场景:不会频繁变化的多个值(经常在where语句中出现;不会频繁变化;字段的内容不是多个)、注意:注意最左前缀优先原则如果是like aaa%, 通配符在后的可以使用索引,反之像%aaa就不行如果where查询条件中有or,其中有条件没有使用索引,那么即使有条件带了索引,也不会使用索引(也就是说,要求所有索引字段都能单独使用索引);表里只有一条记录,使用全表扫描比...原创 2019-04-02 12:18:49 · 205 阅读 · 0 评论 -
mysql的锁、死锁、隔离级别及其实现原理(*)
可重复读原创 2019-04-02 16:19:04 · 1611 阅读 · 1 评论 -
Mysql InnoDB存储引擎中的自适应Hash索引、两次写和插入缓冲
Mysql中的存储引擎:InnoDB有三个关键特性:自适应hash索引、两次写以及插入缓冲。自适应hash索引(自优化 读写速度提升)由来由于innodb不支持hash索引,但是在某些情况下hash索引的效率很高,于是出现了adaptive hash index功能,该功能默认开启,建议关掉,意义不大。可以通过 set global innodb_adaptive_hash_index=of...转载 2019-04-12 15:51:55 · 694 阅读 · 0 评论 -
mybatis中#和$的区别 SQL
在mybatis中的$与#都是在sql中动态的传入参数。eg:select id,name,age from student where name=#{name} 这个name是动态的,可变的。当你传入什么样的值,就会根据你传入的值执行sql语句。两者区别就是将传入的值作为字符串的形式。用#{}传入值,sql动态解析为一个JDBC预编译语句(preparedStatement)的参数标记...转载 2019-04-21 14:39:09 · 229 阅读 · 0 评论 -
Mybatis实现原理
https://yq.aliyun.com/articles/603907转载 2019-04-21 16:36:05 · 1263 阅读 · 0 评论 -
Mysql总结以及相关面试题
InnoDB和MyIASM区别事物的支持(InnoDB)、行数的获取(MYIASM)、行级锁和外键约束(InnoDB)、表级锁(MYISAM)、在内存中建立缓冲池,缓冲数据和索引(InnoDB)、全文搜索FULL_TEXT(MYIASM)、保存行数(MYIASM)大容量的数据集时趋向于选择Innodb。因为它支持事务处理和故障的恢复。Innodb可以利用数据日志来进行数据的恢复。主键的...原创 2019-01-20 18:55:22 · 2309 阅读 · 0 评论 -
Mysql中的索引类型
从数据结构角度B-Tree索引最常见的索引类型,基于B-Tree数据结构。B-Tree的基本思想是,所有值(被索引的列)都是排过序的,每个叶节点到跟节点距离相等。所以B-Tree适合用来查找某一范围内的数据,而且可以直接支持数据排序(ORDER BY)。但是当索引多列时,列的顺序特别重要,需要格外注意。InnoDB和MyISAM都支持B-Tree索引。InnoDB用的是一个变种B+Tree,而...转载 2019-01-20 18:53:30 · 524 阅读 · 0 评论 -
mysql的存储引擎以及InnoDB和MYISAM的索引结构
先说几个概念:(1)为什么要合理选择数据库存储引擎:MySQL中的数据用各种不同的技术存储在文件(或者内存)中。这些技术中的每一种技术都使用不同的存储机制、索引技巧、锁定水平并且最终提供广泛的不同的功能和能力。通过选择不同的技术,你能够获得额外的速度或者功能,从而改善你的应用的整体功能。这些不同的技术以及配套的相关功能在MySQL中被称作存储引擎(也称作表类型)。MySQL默认配置了许多不同...原创 2019-01-20 16:36:28 · 798 阅读 · 0 评论 -
NoSQL(Not Only SQL)简介
大数据高并发高可用分布式关系型数据库一般遵循ACID,但是NoSQL不需要。ACID Atomicity Consistency Insolation DurabilityNoSQL(Not Only SQL,不限于SQL)是一类范围非常广泛的持久化解决方案,它们不遵循关系数据库模型,也不使用SQL作为查询语言。其数据存储可以不需要固定的表格模式,也经常会避免使用SQL的JOIN操作,...原创 2018-12-01 13:49:31 · 4148 阅读 · 0 评论 -
图数据库简介以及Neo4J简介
图数据库:Traversal(遍历 跨过)图数据库的设计架构:各模块功能说明如下:查询和计算:最终用户用于在此语言基础之上进行图的遍历和查询,最终返回运行结果,如能提供RESTful API则能给开发者提供不少便利之处。操作和运维:用于系统实时监控,例如系统配置、安装、升级、运行时监控,甚至包括可视化界面等。数据加载:包括离线数据加载和在线数据加载,既可以是批量的数据加载,也可...原创 2018-12-01 14:09:57 · 1227 阅读 · 0 评论 -
Neo4J安装配置和简单使用
Neo4j下载安装:1.下载https://neo4j.com/download/ 选择zip文件。2.解压之后:3.配置变量a.b.设置好环境变量之后,我们就可以使用 neo4j.bat console语句启动neo4j数据库。从图中我们可以看出默认端口:7474,端口可在conf/neo4j.conf里面修改配置。在浏览器输入localhost:7474,登录Neo4j...原创 2018-12-01 16:30:32 · 1734 阅读 · 3 评论 -
MySQL存储引擎中的索引结构 B+树
MySQL索引:http://blog.jobbole.com/24006/http://www.cnblogs.com/fuyunbiyi/p/2429297.html原创 2018-12-05 13:58:04 · 653 阅读 · 1 评论 -
数据库事务的四大特性以及事务的隔离级别
数据库事务的四大特性以及事务的隔离级别:http://www.cnblogs.com/fjdingsd/p/5273008.html进程调度算法:https://blog.youkuaiyun.com/u011080472/article/details/51217754#t0转载 2018-12-05 19:05:56 · 186 阅读 · 0 评论 -
Oracle和MySQL等的区别
并发性OLTP:联机事务处理并发性是联机事务处理数据库最重要的特性。mysql:mysql以表级锁为主,对资源锁定的粒度很大,如果一个session对一个表加锁时间过长,会让其他session无法更新此表中的数据。虽然InnoDB引擎的表可以用行级锁,但这个行级锁的机制依赖于表的索引,如果表没有索引,或者sql语句没有使用索引,那么仍然使用表级锁。oracle:oracle使用行...转载 2018-12-09 11:58:30 · 173 阅读 · 0 评论 -
Mysql中的索引(联合索引)
首先对于索引相关的东西,这篇博客还是挺全的:https://www.cnblogs.com/sweet521/p/6203360.html对于表的单列(如id)数据,是可以建立索引的,对于多列(id和name组合,或者,name和id组合),也可以建立索引。联合索引,也称之为组合索引。索引作用在索引列上,除了上面提到的有序查找之外,数据库利用各种各样的快速定位技术,能够大大提高查询效率。...原创 2019-01-10 15:06:58 · 681 阅读 · 0 评论 -
卸载Oracle
https://blog.youkuaiyun.com/podge/article/details/79098032翻译 2019-01-09 09:21:58 · 101 阅读 · 0 评论 -
mysql中的两段锁协议和三级封锁协议
两段锁协议一个事务中一旦开始释放锁,就不能再申请新锁了。事务的加锁和解锁严格分为两个阶段,第一阶段加锁,第二阶段解锁。目的 :”引入2PL是为了保证事务的隔离性,保证并发调度的准确性,多个事务在并发的情况下依然是串行的。封锁定理:如果事务是良构的且是两阶段的,那么任何一个合法的调度都是隔离的。2PL和2PC**2PL,两阶段加锁协议:主要用于单机事务中的一致性与隔离性。**主要是在My...原创 2019-04-17 09:14:42 · 7896 阅读 · 0 评论