随笔分类 -  数据库

摘要:这里有两张表TableA和TableB,分别是姓名表和年龄表,用于我们例子的测试数据: 表连接有几种? sql表连接分成外连接、内连接和交叉连接。 一.外连接 概述: 外连接包括三种,分别是左外连接、右外连接、全外连接。 对应的sql关键字:LEFT/RIGHT/FULL OUTER JOIN,通常 阅读全文
posted @ 2018-11-28 21:41 *码识途 阅读(29610) 评论(1) 推荐(1)
摘要:版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u012100371/article/details/76602612 Druid是Java语言中最好的数据库连接池,并且能够提供强大的监控和扩展功能。 Spring Boot默认的数据源是:org.a 阅读全文
posted @ 2018-11-26 22:11 *码识途 阅读(209) 评论(0) 推荐(0)
摘要:主从分离的原则:所有的写操作在主数据库中进行,因为主从分离的原理是涉及到同步数据,那就可能会出现延迟或者其他问题,就可能会出现脏数据。 所以,在从库中进行的读操作也必须是有一定容忍性的数据,例如日志等。 例如需要注意,如果一个业务中有读和写的操作。 那么这个操作的库必须是主库,因为这个涉及到事务,需 阅读全文
posted @ 2018-10-28 02:52 *码识途 阅读(653) 评论(0) 推荐(1)
摘要:[原则一:选择需要优化的SQL] [原则二:从Explain和Profile入手] [原则三:永远用小结果集驱动大的结果集] [原则四:在索引中完成排序] [原则五:使用最小Columns] [原则六:使用最有效的过滤条件] [原则七:避免复杂的JOIN和子查询] 阅读全文
posted @ 2018-10-27 15:19 *码识途 阅读(432) 评论(0) 推荐(0)
摘要:本文实验的测试环境:Windows 10+cmd+MySQL5.6.36+InnoDB 一、事务的基本要素(ACID) 1、原子性(Atomicity):事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节。事务执行过程中出错,会回滚到事务开始前的状态,所有的操作就像没有发生一样。也 阅读全文
posted @ 2018-10-27 14:57 *码识途 阅读(222) 评论(0) 推荐(0)
摘要:要想优化一条 Query,我们就需要清楚的知道这条 Query 的性能瓶颈到底在哪里,是消耗的 CPU计算太多,还是需要的的 IO 操作太多?要想能够清楚的了解这些信息,在 MySQL 5.0 和 MySQL 5.1正式版中已经可以非常容易做到了,那就是通过 Query Profiler 功能。 M 阅读全文
posted @ 2018-10-27 14:53 *码识途 阅读(2208) 评论(1) 推荐(0)
摘要:汉字很多,人力有时尽,人不可能记住所有的字,为了解决这个问题,于是有了字典。数据库里的数据很多,为了方便检索,于是有了索引。 索引,是一种数据结构,在这种数据结构中实现了高级的查找算法,索引可以帮助我们高效地获取数据,提高查询效率。 既然索引有这样的好处,那我们是不是每个字段都该建立索引呢? 当然是 阅读全文
posted @ 2018-10-27 14:34 *码识途 阅读(1873) 评论(0) 推荐(0)
摘要:在日常工作中,我们会有时会开慢查询去记录一些执行时间比较久的SQL语句,找出这些SQL语句并不意味着完事了,些时我们常常用到explain这个命令来查看一个这些SQL语句的执行计划,查看该SQL语句有没有使用上了索引,有没有做全表扫描,这都可以通过explain命令来查看。所以我们深入了解MySQL 阅读全文
posted @ 2018-10-26 14:05 *码识途 阅读(344) 评论(0) 推荐(0)
摘要:MySQL的innodb存储引擎支持行级锁,innodb的行锁是通过给索引项加锁实现的,这就意味着只有通过索引条件检索数据时,innodb才使用行锁,否则使用表锁。根据当前的数据更新语句(UPDATE user set name='11111' where account='1'),该条件字段acc 阅读全文
posted @ 2018-10-26 11:55 *码识途 阅读(3386) 评论(1) 推荐(0)