sql
人在旅途我渐行渐远
随便写写
展开
-
mysql批量插入数据
场景:由于压力测试需要造10W条数据。方案:利用存储过程解决BEGINDECLARE i INT;DECLARE questionId INT;SET i=1;SET questionId=1;WHILE i < 110000 DO UPDATE table SET question_id = questionId+1 WHERE id = i;SET i=i+1;SELECT RAND()*100 into questionId; -- 产生0-5之间的随.原创 2020-10-29 15:46:07 · 243 阅读 · 0 评论 -
#{}和${} 区别及sql注入
#{}和${} 区别及sql注入一、过程1、动态解析:mybatis 在对 sql 语句进行预编译之前,会对 sql 进行动态解析,解析为一个 BoundSql 对象。#{}:解析为一个 JDBC 预编译语句(prepared statement)的参数标记符select * from A where a = #{value};动态解析为:select * from A where a = ?;这里可以看到#{}被解析为占位符?${}:字符串的拼接select * from A wh原创 2020-09-18 11:27:45 · 687 阅读 · 0 评论 -
iBatiS中遇到的sql上的问题小结
自定义的xml处理sql的程序中经常需要我们来处理。其实很简单,我们只需作如下替换即可避免上述的错误:原符号 > >= & ' "替换符号<<=>>=&'"原创 2014-10-31 09:03:43 · 474 阅读 · 0 评论 -
mysql性能优化
mysql性能优化mysql性能优化1. type2. possible_keys3. key4. key_len5. ref6. rows7. Extramysql性能优化1. type表示MySQL在表中找到所需行的方式,又称“访问类型”,常见类型如下:ALL, index, range, ref, eq_ref, const, system, NULL从左到右,性能从最差到最好...原创 2018-11-13 14:14:37 · 187 阅读 · 0 评论 -
慢sql日志出现/*!40001 SQL_NO_CACHE */
慢sql 出现 SQL_NO_CACHE最近处理慢sql发现很多: SELECT /*!40001 SQL_NO_CACHE */ * FROM `xxxx`;查了一下才发现,这个 /*!40001 SQL_NO_CACHE */是mysql的语法,并不是注释。意思是不经过缓存取数据。发现都是单表单表的日志,了解到是备份操作的时候mysql自动调用的。...原创 2018-11-14 14:00:59 · 8818 阅读 · 0 评论