拿到题 通过查看网页源代码发现index.txt 通过index.txt我们获得了后端的源代码 我们可以通过我画出来的这两个重要的信息得知 第一个sql查询语句没有任何过滤说明存在SQL注入漏洞。 第二个我画出的代码就是我们要获得flag的核心 if (($row[pw]) && (!strcase ...
分类:
Web程序 时间:
2019-07-11 12:20:55
阅读次数:
128
一、背景最近公司项目添加新功能,上线后发现有些功能的列表查询时间很久。原因是新功能用到旧功能的接口,而这些旧接口的SQL查询语句关联5,6张表且编写不够规范,导致MySQL在执行SQL语句时索引失效,进行全表扫描。原本负责优化的同事有事请假回家,因此优化查询数据的问题落在笔者手中。笔者在查阅网上SQL优化的资料后成功解决了问题,在此从全局角度记录和总结MySQL查询优化相关技巧。二、优化思路数据查
分类:
数据库 时间:
2019-06-27 12:18:56
阅读次数:
142
1.1.1. 什么是执行计划 使用EXPLAIN关键字可以模拟优化器执行SQL查询语句,从而知道MySQL是 如何处理你的SQL语句的。分析你的查询语句或是表结构的性能瓶颈 1.1.2. 执行计划的作用 l 表的读取顺序 l 数据读取操作的操作类型 l 哪些索引可以使用 l 哪些索引被实际使用 l ...
分类:
其他好文 时间:
2019-06-26 13:18:41
阅读次数:
99
explain分析查询 使用 EXPLAIN 关键字可以模拟优化器执行SQL查询语句,从而知道MySQL是如何处理你的SQL语句的。这可以帮你分析你的查询语句或是表结构的性能瓶颈。通过explain命令可以得到: 表的读取顺序 数据读取操作的操作类型 哪些索引可以使用 哪些索引被实际使用 表之间的引 ...
分类:
数据库 时间:
2019-06-21 18:27:37
阅读次数:
112
条件查询 1,比较查询(>,<,>=,<=,=)注:SQL查询语句的等于号(=) (1)查询学生表中年龄大于18岁的学生姓名和性别信息 select name,gender from students where age>18; (2)查询学生表中年龄大于等于18岁的学生姓名和性别信息 select ...
分类:
数据库 时间:
2019-06-16 13:33:56
阅读次数:
137
问题描述:在工作过程中,有时会遇到这样的问题,写好sql查询语句在数据库中查询数据,看到行数(比如说是1000行),但是把查询结果复制到Excel里面,却发生了行列错位问题,而导致Excel里面的行数是超过1000行的,造成数据行数的不一致。 问题重现:字段值包含char(10)换行符,复制字段值到 ...
分类:
数据库 时间:
2019-06-07 23:02:22
阅读次数:
193
1、应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描。 2、对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 3、应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引 ...
分类:
数据库 时间:
2019-05-25 20:14:13
阅读次数:
148
查询语句格式: select <字段> from <表>; where 条件用法,当查询某条语句做限定的时候,需要用到。 select <字段> from <表> where <参数> 大于 <数值>; select <字段> from <表> where <参数> 小于 <数值>; 过滤条件: 1 ...
分类:
数据库 时间:
2019-05-22 17:24:13
阅读次数:
127
当一个数据库表过于庞大,LIMIT offset, length中的offset值过大,则SQL查询语句会非常缓慢,你需增加order by,并且order by字段需要建立索引。 如果使用子查询去优化LIMIT的话,则子查询必须是连续的,某种意义来讲,子查询不应该有where条件,where会过滤 ...
分类:
其他好文 时间:
2019-05-17 21:58:23
阅读次数:
168
MySQL索引的建立对于MySQL的高效运行是很重要的,索引可以大大提高MySQL的检索速度。 索引分单列索引和组合索引。单列索引,即一个索引只包含单个列,一个表可以有多个单列索引,但这不是组合索引。组合索引,即一个索引包含多个列。 创建索引时,你需要确保该索引是应用在 SQL 查询语句的条件(一般 ...
分类:
数据库 时间:
2019-05-14 13:21:45
阅读次数:
168