SQL语句注释的妙用

mysql里面的SQL语句,里面是可以加注释的
例如:
"select * from author where authorid=1"可以写成
"/* get a author  */select * from author where authorid=1"
照样可以正常执行。有人说,这有鸟用啊?那好看下面:
1、在PHP里面的设定sql语句
$sql = '/* FILE: ' . __FILE__ . ', LINE: ' . __LINE__ . ' */ ' . "SELECT managerid,managername,realname FROM manager WHERE isbad=0 and managerid={$managerid}";

2、在mysql的my.cnf里面加上这两行
log_slow_queries = /var/log/mysql/slow.log
long_query_time = 10

3、重启mysql

4、# tail /var/log/slow.log
假设刚才的SQL语句是执行时间超过10秒的慢SQL,那么你可以看到类似这样的信息
SET timestamp=1331715594;
/* FILE: /var/www/jjwxc.net/www.jjwxc/backend/sms.php, LINE: 258 */ SELECT managerid,managername,realname FROM manager WHERE isbad=0 and managerid=1

5、现在有人明白意义了吗?没有明白,好,那我继续解释。

6、访问量大或者程序写得烂的时候,数据库系统往往会出现进程过多的情况,很多mysql语句排队等待执行,这个时候,找到最耗资源的SQL语句是当务之急。有了SQL注释,我们能够迅速定位到卡死系统的sql语句是哪个php文件的哪一行。然后到那里仔细推敲代码,解决问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值