MySQL
~下一站完美~
这个作者很懒,什么都没留下…
展开
-
MySQL联合索引
1、最左匹配原则最左匹配原则指的就是如果你的 SQL 语句中用到了联合索引中的最左边的索引,那么这条 SQL 语句就可以利用这个联合索引去进行匹配,值得注意的是,当遇到范围查询(>、<、between、like)就会停止匹配。假设,我们对(a,b)字段建立一个索引,也就是说,你where后条件为:a = 1a = 1 and b = 2上面的两个查询条件都是可以走联合索引。但一定要注意的是:b= 2 and a =1也是能匹配到索引的,因为Mysql有优化器会自动调整a,b的原创 2020-09-03 18:26:12 · 878 阅读 · 1 评论 -
MySQLredo log、binlog、undo log 区别与作用
日志系统主要有redo log(重做日志)、undo log(回滚日志)、binlog(二进制日志)。redo log和undo log是InnoDB存储引擎层的日志,binlog是MySQL Server层记录的日志。1、binlog(二进制日志)binlog用于记录数据库执行的写入性操作(不包括查询)信息,以二进制的形式保存在磁盘中。binlog是mysql的逻辑日志,并且由Server层进行记录,使用任何存储引擎的mysql数据库都会记录binlog日志。逻辑日志:可以简单理解为记录的就是原创 2020-09-03 16:44:56 · 438 阅读 · 0 评论 -
MySQL练习
1、数据库数据准备2、练习2.1、查询课程编号为“01”的课程比“02”的课程成绩高的所有学生的信息分析:学生的全部信息存在于student表,分数存在于score表,将符合条件表格拼接进行查询。select s.*,b.s_score'课程01',c.s_score'课程02' from student s inner join (select * from score where score.c_id='01' )b on s.s_id=b.s_id inner join (select *原创 2020-09-02 17:02:49 · 163 阅读 · 0 评论 -
SQL多表查询
1、基础1.1、SQL查询的基本原理第一、单表查询:根据WHERE条件过滤表中的记录,形成中间表(这个中间表对用户是不可见的);然后根据SELECT的选择列选择相应的列进行返回最终结果。第二、两表连接查询:对两表求积(笛卡尔积)并用ON条件和连接连接类型进行过滤形成中间表;然后根据WHERE条件过滤中间表的记录,并根据SELECT指定的列返回查询结果。第三、多表连接查询:先对第一个和第二个表按照两表连接做查询,然后用查询结果和第三个表做连接查询,以此类推,直到所有的表都连接上为止,最终形成一个中间的原创 2020-09-02 15:09:35 · 604 阅读 · 0 评论