`

MySQL的benchmark函数

阅读更多

MySQL实现了很多独特的函数,有时候使用起来是非常的方便,或许这就是开源的好处吧。这里记录一下benchmark函数,一个用于测试MySQL函数性能的函数。benchmark函数只有两个参数,第一个是执行次数,第二个是要测试的函数或者表达式。返回的结果始终是0,执行时间才是我们需要的结果:


mysql> select benchmark(1e8,current_date());
+——————————-+
| benchmark(1e8,current_date()) |
+——————————-+
| 0 |
+——————————-+
1 row in set (31.08 sec)

mysql> select benchmark(1e8,abs(1));
+———————–+
| benchmark(1e8,abs(1)) |
+———————–+
| 0 |
+———————–+
1 row in set (1.31 sec)

除法的效率明显不如乘法:

mysql> select benchmark(1e8,1*1);
+——————–+
| benchmark(1e8,1*1) |
+——————–+
| 0 |
+——————–+
1 row in set (1.45 sec)

mysql> select benchmark(1e8,1/1);
+——————–+
| benchmark(1e8,1/1) |
+——————–+
| 0 |
+——————–+
1 row in set (19.47 sec)

分享到:
评论

相关推荐

    MySQL-5.7新增功能全揭秘中文版

    - **基准测试**:MySQL 官方提供了详细的基准测试报告,可参考 [MySQL 官网](http://www.mysql.com/why-mysql/benchmarks/) 或者 [MySQL Benchmark 下载页面](http://dev.mysql.com/downloads/benchmarks.html) 获取...

    Web应用安全:Mysql时间延迟.pptx

    时间延迟注入主要利用MySQL中的特定函数,如`SLEEP()`或`BENCHMARK()`,来延长数据库查询的时间。攻击者通过构造带有这些函数的SQL语句,结合`IF()`判断语句,使得页面的响应时间与某个条件相关。例如,如果条件...

    mysql学习总结

    5. **性能测试**:`benchmark()`函数用于测试MySQL的性能,例如`SELECT benchmark(1000000,1+1)`可以衡量执行特定表达式的速度。 6. **表维护**:`myisamchk`是一个强大的工具,用于检查、修复和优化MyISAM表。在...

    Web应用安全:Mysql盲注.pptx

    - **基于时间的SQL盲注**:利用`SLEEP()`或`BENCHMARK()`函数造成延迟,通过页面响应时间的不同来判断查询结果。 - **基于报错的SQL盲注**:注入能够触发MySQL错误的SQL语句,然后观察服务器返回的错误信息来获取...

    绕过过滤SQL注射1

    在MySQL中,可以使用benchmark函数来执行某个表达式多次,例如:select benchmark(1000000,sha1('blah'));。这个函数将执行.sha1('blah')表达式1000000次,从而让数据库计算sha1值。 6. 条件语句转换 可以使用条件...

    mysql-cheat-sheet-v1

    **系统函数**:`LAST_INSERT_ID` 获取最后插入记录的自增ID、`FORMAT` 格式化数字、`VERSION` 获取MySQL版本、`CONNECTION_ID` 获取连接ID、`GET_LOCK`、`RELEASE_LOCK` 和 `IS_FREE_LOCK` 用于实现锁机制、`...

    SQL Benchmark:简单SQL速度测试-开源

    SQL Benchmark 是一个用于比较不同数据库管理系统(如 MySQL 和 MSSQL Server)性能的工具,它通过执行一系列预定义的SQL查询来衡量数据库的处理速度和在压力下的表现。这个开源项目为开发者、数据库管理员以及对...

    Web应用安全:Mysql时间延迟习题习题.docx

    第二题,MySQL内置的`if`函数需要三个参数:条件、真时的结果和假时的结果,因此正确答案是C。第三题,笛卡尔积在生成过程中需要连接多张表,这个过程通常非常消耗时间,所以能造成时间延迟,答案B揭示了这个原理。 ...

    MySQL注入笔记

    MySQL注入是一种安全漏洞,发生在应用程序将用户输入的参数直接拼接到SQL查询语句中时,攻击者可以通过构造特定的输入来执行非预期的SQL命令,从而获取敏感信息、篡改数据甚至控制整个数据库系统。本笔记主要探讨了...

    HackproofingMySQL陆小马功钟浩.pdf

    此外,定时延迟和BENCHMARK函数可能被用于对数据库执行计时攻击,利用user-defined函数也可能成为攻击者的攻击点。 5. 本地攻击和其他需要注意的特性 本地攻击可能发生在数据库服务器上,攻击者尝试利用MySQL的某些...

    MySQL在不知道列名情况下的注入详解

    同时,可以尝试不同版本的SQL语法,因为不同版本的MySQL可能对某些函数或关键字有不同的处理方式。 6. **其他技巧**: 对于特定场景,还可以尝试使用`GROUP_CONCAT()`、`BENCHMARK()`、`SUBSTRING()`等函数来获取...

    sql注入字典fuzz

    6. **数据库特定功能**:例如MySQL特有的`sleep`函数可用于延时注入测试;`information_schema`可用来获取数据库的信息;`concat_ws()`、`substring`等函数则可以用来拼接或截取字符串。 7. **控制流语句**:如`IF`,...

    sql注入初学——松风1

    时间延迟攻击利用了某些函数,如MySQL的`BENCHMARK`,来延长查询时间。通过观察响应时间的变化,攻击者可以确定是否存在漏洞,特别是对于"盲注"这种无法直接获取反馈的情况。 识别数据库种类是进行SQL注入攻击的...

    2022-工大抗疫-web-writeup1

    在给定的部分内容中,我们可以看到时间盲注的示例,例如使用benchmark函数来检测响应时间。 十、Web安全 Web安全是Web开发中的一种重要考虑因素,涉及到各种攻击方式和防御机制。在给定的部分内容中,我们可以看到...

    Nucleus CMS 3.71.zip

    Nucleus CMS是一个用于管理一个或多个blog的工具,它采用PHP开发并需要MySQL数据库支持,可以安装一个单一的博客,或整个网络的博客。Nucleus CMS 3.71 更新日志:2017-05-30 FIX:VCE-2011-3760;FIX:致命错误:使用...

    sql.pdf

    - **延迟注入**:通过`benchmark()`等函数造成延迟以判断条件。 - **导入导出**:`load_file()`读取文件,`SELECT ... INTO OUTFILE`写入文件。 - **宽字节注入**:针对多字节编码的字符注入。 3. **防御策略**...

    考试hw.docx+信息安全问题汇总

    12. 报错注入函数:包括一些可以触发数据库错误并返回有用信息的函数,如MySQL中的SLEEP()、BENCHMARK()等。 13. 布尔型盲注:攻击者通过观察页面是否异常来判断SQL注入的正确性,无回显和错误信息,利用正常的和...

    Nucleus CMS v3.71.zip

    Nucleus是一个用于管理一个或多个blog的工具。它采用PHP4开发并需要MySQL数据库支持。Nucleus具有支持多个写作者,支持先预览 ...ADD:nucleus_version_compare函数。 Nucleus截图 相关阅读 同类推荐:站长常用源码

    《Node入门一本全面地Node.js教程》PDF

    - **MySQL**:mysql2库提供对MySQL数据库的支持,处理SQL查询和事务。 9. **错误处理**: - **全局异常捕获**:在Node.js中,正确处理错误是保证应用健壮性的重要环节,包括异常捕获和错误日志记录。 10. **性能...

Global site tag (gtag.js) - Google Analytics