最近做一个数据库初始化工具的时候发现了这个问题,就是在一个Statement中执行一条SQL语句的时候可以正确执行,如果同时执行多条,就会报SQL语法错误,伤透了脑筋. 经过网上查找,发现有两种解决办法: 1.最简单的办法,在MySQL的连接字符串中设置allowMultiQueries参数置为true. 2.在程序中对SQL语句以分号拆分成多条SQL语句,然后使用Statement的addBatch方法,最后executeBatch就行. 结论:第一种方式最简单. 希望对以后遇到此类问题的朋友…
作为后端开发者,遇到数据库问题的时候应该通过分析SQL语句来跟进问题所在,该方法可以记录所有的查询/执行的SQL语句到日志文件. 方法有几种,但是个人觉得以下这种最简单,但是重启MySQL服务后需要重新配置. 查询日志功能是否开启 SHOW VARIABLES LIKE 'general%'; general_log:日志功能是否开启,默认关闭OFF general_log_file:日志文件保存位置 开启日志 set GLOBAL general_log='ON'; 查询是否开启 SHOW V…
配置log4j,要向oracle插入一条系统当前时间的sql语句,按网上查找的总是出现各种各样的报错,最后总结出的写法是: ### shezhi### log4j.rootLogger = debug,stdout,D,E,db log4j.appender.stdout = org.apache.log4j.ConsoleAppender log4j.appender.stdout.Target = System.out log4j.appender.stdout.layout = org.a…
MySQL监控全部执行过的sql语句 查看是否开启日志记录show variables like “general_log%” ; +——————+———-+|Variable_name|Value|+——————+———-+|general_log|OFF||general_log_file|/data0/logs/mysql/general.log|+——————+———-+ OFF 关闭ON 开启 临时开启日志记录set global general_log=’ON’ ; 这时执行的所有s…
很多时候,我们需要知道 MySQL 执行过哪些 SQL 语句,比如 MySQL 被注入后,需要知道造成什么伤害等等.只要有 SQL 语句的记录,就能知道情况并作出对策.服务器是可以开启 MySQL 的 SQL 语句记录功能,从而就能间接地检测到客户端程序的行为. 开启方法很简单:编辑/etc/my.cnf文件,在[mysqld]节下面添加:log=/var/lib/mysql/sql_row.log行(日志的路径自己根据需要定义). [mysqld] datadir=/var/lib/mysql…
当需要分析执行过的SQL语句来判断问题,可以通过打开查询日志功能,但是重启MySQL服务后需要重新配置. 查询日志查询功能: SHOW VARIABLES LIKE 'general%'; general_log:日志功能是否开启,默认关闭OFF general_log_file:日志文件保存位置 开启日志: set GLOBAL general_log='ON'; 查询是否开启: SHOW VARIABLES LIKE 'general_log';…
参考帖子:http://www.cnblogs.com/han-1034683568/p/6730869.html Druid数据连接池简介 Druid是Java语言中最好的数据库连接池.Druid能够提供强大的监控和扩展功能. 性能好,同时自带监控页面,可以实时监控应用的连接池情况以及其中性能差的sql,方便我们找出应用中连接池方面的问题. Druid是一个JDBC组件,它包括三部分: DruidDriver 代理Driver,能够提供基于Filter-Chain模式的插件体系 DruidDa…
一段SQL代码写好以后,可以通过查看SQL的执行计划,初步预测该SQL在运行时的性能好坏,尤其是在发现某个SQL语句的效率较差时,我们可以通过查看执行计划,分析出该SQL代码的问题所在.  那么,作为开发人员,怎么样比较简单的利用执行计划评估SQL语句的性能呢?总结如下步骤供大家参考:  1. 打开熟悉的查看工具:PL/SQL Developer.    在PL/SQL Developer中写好一段SQL代码后,按F5,PL/SQL Developer会自动打开执行计划窗口,显示该SQL的执行计…
为什么要优化: 随着实际项目的启动,数据库经过一段时间的运行,最初的数据库设置,会与实际数据库运行性能会有一些差异,这时我们 就需要做一个优化调整. 数据库优化这个课题较大,可分为四大类: >主机性能>内存使用性能>网络传输性能>SQL语句执行性能[软件工程师]下面列出一些数据库SQL优化方案: (01)选择最有效率的表名顺序(笔试常考) 数据库的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表将被最先处理,在FROM子句中包含多个表的情况下,你必须选择…
执行原生的SQL语句: $sql="insert select update delete...."; ①查询语句:   $model对象 -> query($sql);     返回一个二维数组结果 ②添加/修改/删除语句:  $model对象 -> excute($sql);     返回受影响记录条数…