Mysql
chengxl90
这个作者很懒,什么都没留下…
展开
-
Mybatis #和$的区别
#会进行预编译,其实现是通过JDBC的PreparedStatement类,mybatis启用了预编译功能,在sql执行前,会先将上面的sql发送给数据库进行编译,执行时,直接使用编译好的sql,替换占位符“?”就可以了。因为sql注入只能对编译过程起作用,所以这样的方式就很好地避免了sql注入的问题,在mybatis中,”${xxx}”这样格式的参数会直接参与sql编译,从而不能避免注入攻击。但原创 2017-04-18 15:19:45 · 252 阅读 · 0 评论 -
Mysql使用注意事项
1.mysql中int(m)的m是显示长度,实际保存长度是2的32方,即4个字节。 2.varchar(100) not nulldefault'***',当insert语句中没有name字段时以default的值为准,当insert中有name字段,但值为null时会报错。 3.mysql的timestamp字段如果不设置默认值,那么当进行更新操作时,此类字段会自动更新时间原创 2016-12-15 16:20:55 · 438 阅读 · 0 评论 -
子查询和连接查询性能比较
初步实践证明:连接查询的性能优于子查询,所以能用连接查询的地方尽量少用子查询原创 2017-05-11 15:18:11 · 18810 阅读 · 1 评论 -
sql语句中各子部分的执行顺序
红色序号给出了执行的顺序: (1)from:对Table1和Table2执行笛卡尔积,也就是两个表的行的各种组合,共5*5=25行,生成虚拟表VT1 (2)on:选择VT1中的那些Table1.id=Table2.id的所有行,生成虚拟表VT2。 (3)inner join:这里是内部连接,直接就是VT2,如果是outer join,如left join、right join、full jo翻译 2017-05-11 15:32:21 · 2208 阅读 · 0 评论