![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
SQL
每天多学一点点.
这个作者很懒,什么都没留下…
展开
-
Mysql 主从复制
1.什么是主从复制主从复制,是用来建立一个和主数据库完全一样的数据库环境,称为从数据库,主数据库一般是准实时的业务数据库。您看,像在mysql数据库中,支持单项、异步赋值。在赋值过程中,一个服务器充当主服务器,而另外一台服务器充当从服务器。此时主服务器会将更新信息写入到一个特定的二进制文件中。并会维护文件的一个索引用来跟踪日志循环。这个日志可以记录并发送到从服务器的更新中去。当一台从服务器连接到主服务器时,从服务器会通知主服务器从服务器的日志文件中读取最后一次成功更新的位置。然后从服务器会接收从哪个时刻起原创 2020-05-09 16:03:25 · 167 阅读 · 0 评论 -
MySQL索引详解及优化策略
1. 索引介绍索引是存储引擎用于快速查找记录的一种数据结构。索引优化是对查询性能优化最有效的手段。索引可以包含一个或多个列的值。如果索引包含多个列,那么列的顺序也十分重要,因为MySQL只能高效地使用索引的最左前缀列。1.1 索引优点索引可以让服务器快速定位到表的指定位置:最常见的B-Tree索引,按照顺序存储数据,所以MySQL可以用来做ORDER BY 和 GROUP BY操作.总结...原创 2020-02-19 21:39:58 · 600 阅读 · 0 评论 -
数据库锁的机制
锁机制: 有些业务逻辑在执行过程中要求对数据进行排他性的访问,于是需要通过一些机制保证在此过程中数据被锁住不会被外界修改.悲观锁:悲观的认为在数据的处理过程中极有可能存在修改数据的并发事务,于是将处理数据设置为锁定状态.悲观锁必须依赖数据库本身的锁机制才能真正保证数据访问的排他性.乐观锁:对并发事务持乐观态度,通过更加宽松的锁机制来解决由于悲观锁对数据库系统造成的严重影响.(最常见的乐观锁是通...原创 2020-02-05 11:19:44 · 172 阅读 · 0 评论 -
数据库常见的优化方法及方案
1. 优化方向SQL以及索引的优化。首先根据需求写出良好的SQL,然后根据SQL在表中建立有效的索引。但是索引不能过多,否则会影响查询效率。合理的数据库设计。根据数据库三范式来进行表的结果设计,设计时应该考虑如何更有效的进行查询.系统配置的优化。例如:mysql数据库的my.cnf文件.补充1.1 字段类型选择少使用INT,多使用TINYINT,SMALLINT,如果非负加上UN...原创 2020-02-05 10:46:44 · 712 阅读 · 0 评论 -
JDBC的反射,以及作用
通过反射com.mysql.jdbc.Driver类,实例化该类时,会调用该类的静态代码块,该代码块会去DriverManager类中注册自己,DriverManager管理所有已注册的驱动类,当调用DriverManager.getConnection()方法时会遍历所有驱动类,并尝试连接数据库,只要有一个连接成功,就返回Connection对象,否则报异常....原创 2020-02-05 10:15:19 · 732 阅读 · 0 评论 -
索引的最左前缀原理
通常我们在建立联合索引的时候,也就是对多个字段建立索引,相信建立过索引的同学们会发现,无论是oralce还是mysql都会让我们选择索引的顺序,比如我们想在a,b,c三个字段上建立一个联合索引,我们可以选择自己想要的优先级,a、b、c,或者是b、a、c 或者是c、a、b等顺序。为什么数据库会让我们选择字段的顺序呢?不都是三个字段的联合索引么?这里就引出了数据库索引的最左前缀原理。比如:索引ind...原创 2020-01-18 11:03:28 · 608 阅读 · 0 评论 -
MySQL索引底层的数据结构与算法
既然我们要探讨索引,那么我们就应该弄清楚索引是什么1. 索引是什么?MySQL官方给索引的定义为:索引是帮助MySQL高效获取数据的排好序的数据结构(索引是数据结构)1.1 索引的本质我们知道,数据库查询是数据库的最主要功能之一。我们都希望查询数据的速度能尽可能的快,因此数据库系统的设计者会从查询算法的角度进行优化。最基本的查询算法当然是顺序查找(linear search),这种复杂度为...原创 2020-01-18 10:08:12 · 292 阅读 · 0 评论 -
数据库SQL语句书写注意事项
1. 从多个表中选择记录(表名顺序)执行顺序为从右往左,即表记录数少的放到右边,即最为基础表。如果有三个以上的表做连接查询,我们将交叉表作为基础表(即被其他表应用的表,即关系表)2. WHERE子句中的连接顺序ORACLE按照自左向右的顺序执行,即那些可以过滤掉最大数量记录的条件必须写在WHERE子句的最右边,即末尾。对于SQL Server有两种说法,第一种:不用考虑顺序,SQLServ...原创 2019-12-03 10:36:51 · 1481 阅读 · 0 评论 -
数据库水平切分,垂直切分
先水平切分,然后垂直切分.1.什么是垂直切分?垂直切分是根据业务来拆分数据库,同一类业务的数据表拆分到一个独立的数据库,另一类的数据表拆分到其他数据库。比如说一个新零售的电商数据库,我们可以把跟商品相关的数据表拆分成一个数据库,然后在这些数据表的基础之上,构建出商品系统。比如用JAVA或者PHP语言,创建出一个商城系统。然后把跟进销存相关的数据表拆分到另外一个数据库上,再用程序构建出仓库系统...原创 2019-11-15 15:24:51 · 595 阅读 · 0 评论 -
SQL基础练习2
数据库:练习题:1.查询所有员工的FNAME、LNAME、SSN、SEX和SALARY,并分别将SEX和SALARY的列名重命名为“性别”、“工资”。2.从Employee表中检索出员工的FNAME、LNAME、SSN、BDATE、SALARY等字段,并分别加上“名”、“姓”、“社会保险号”、“生日”、“工资”的标题。员工的排序规则为:首先按工资的降序排列,然后按FNAME的字母升序排列。...原创 2019-10-25 19:43:17 · 8481 阅读 · 1 评论 -
SQL基础练习1
前段时间,回顾了一下SQL基础语法,并且练习了一些习题,在这里展示出来,希望对想要练习SQL语句的朋友,有所帮助. 我练习的时候是采用的oracle数据库,下面的是我练习的表单: ![](https://img-blog.csdnimg.cn/20190904085046756.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdG...原创 2019-09-04 08:59:23 · 687 阅读 · 1 评论