1. explain的概念 使用EXPLAIN 关键字可以模拟优化器执行SQL 查询语句,从而知道MySQL 是如何处理你的SQL 语句的。分析你的查询语句或是表结构的性能瓶颈。 用法: Explain+SQL 语句。 Explain 执行后返回的信息: 2. explain执行后返回值的详细分析 ...
分类:
数据库 时间:
2020-05-05 17:46:03
阅读次数:
73
什么是覆盖索引?解释一: 就是select的数据列只用从索引中就能够取得,不必从数据表中读取,换句话说查询列要被所使用的索引覆盖。 解释二: 索引是高效找到行的一个方法,当能通过检索索引就可以读取想要的数据,那就不需要再到数据表中读取行了。如果一个索引包含了(或覆盖了)满足查询语句中字段与条件的数据 ...
分类:
数据库 时间:
2020-05-05 12:54:36
阅读次数:
164
我们在编写一个查询语句的时候 SELECT DISTINCT < select_list > FROM < left_table > < join_type > JOIN < right_table > ON < join_condition > WHERE < where_condition > ...
分类:
数据库 时间:
2020-05-04 01:08:27
阅读次数:
93
前言:索引在sql调优部分占据着重要的位置,了解并深入索引对我们来说也是非常重要的。本篇主要介绍MySQL中索引的相关知识点。 1.索引是什么 MySQL官方对索引的定义:索引(Index)是帮助MySQL高效获取数据的数据结构。因此索引的本质就是数据结构。索引的目的在于提高查询效率,可类比字典、书 ...
分类:
数据库 时间:
2020-05-03 18:21:19
阅读次数:
72
什么是视图 1. 视图是一个虚拟表,其内容由查询定义。 2. 同真实的表一样,视图包含一系列带有名称的列和行数据。 3. 行和列数据来自定义视图的查询所引用的表,并且在引用视图时动态生成。 4. 简单的来说视图是由select结果组成的表; 视图的特性 1. 视图是对若干张基本表的引用,一张虚表,查 ...
分类:
数据库 时间:
2020-05-03 16:57:42
阅读次数:
84
一、背景 最近公司项目添加新功能,上线后发现有些功能的列表查询时间很久。原因是新功能用到旧功能的接口,而这些旧接口的 SQL 查询语句关联5,6张表且编写不够规范,导致 MySQL 在执行 SQL 语句时索引失效,进行全表扫描。原本负责优化的同事有事请假回家,因此优化查询数据的问题落在笔者手中。笔者 ...
分类:
数据库 时间:
2020-05-03 11:03:08
阅读次数:
66
动态SQL if EmpMapper接口 EmpMapper.xml where 有时候查询语句不一定会有where此时使用标签智能添加where choose 如果上面的查询只需要选择其中一个条件来执行,而不是所有满足条件的则可以使用标签 set set标签与where标签类似,它能智能的为upd ...
分类:
数据库 时间:
2020-05-02 12:13:50
阅读次数:
62
常见的sql查询语句索引失效的情况 1、在索引列上使用函数。如SUBSTR,DECODE,INSTR等,对索引列进行运算.需要建立函数索引就可以解决了。 2、对索引列进行了加减乘除运算也会造成索引失效 3、基于cost的成本分析,访问的表过小,使用全表扫描的消耗小于使用索引。 4、使用<>、not ...
分类:
数据库 时间:
2020-05-01 01:19:20
阅读次数:
90
CRUD和Mapper.xml参数 1. namespace namespace中的包名和Dao/mapper接口的包名一致! 2. select 选择/查询语句; id : 对应的namespace中的方法名 resultType: sql语句执行的返回类型! parameterType: 参数类 ...
分类:
移动开发 时间:
2020-04-30 19:20:03
阅读次数:
86
SQL Injection 1. 题目 SQL Injection,即SQL注入,是指攻击者通过注入恶意的SQL命令,破坏SQL查询语句的结构,从而达到执行恶意SQL语句的目的。 2. Low a. 代码分析 对来自客户端的参数id没有进行任何的检查与过滤,存在明显的SQL注入。 b. 漏洞利用 3 ...
分类:
其他好文 时间:
2020-04-30 11:39:17
阅读次数:
71