sqladvisor :Invalid parameter number 解决

在安装使用美团网sqladvisor时候报错:

./sqladvisor -h xxx -P 3306 -u admin -p 'xxx' -d sql_audit -q "SELECT FROM product_spu_modify where CreateTime > '2018-07-29 14:15:46';" -v 1
2018-07-30 17:51:19 10008 [Note] 第1步: 对SQL解析优化之后得到的SQL:select
AS * from sql_audit.product_spu_modify where (CreateTime > '2018-07-29 14:15:46')

2018-07-30 17:51:19 10008 [Note] 第2步:开始解析where中的条件:(CreateTime > '2018-07-29 14:15:46')

2018-07-30 17:51:19 10008 [Note] 第3步:SQLAdvisor结束!错误日志:Invalid parameter number

由于没有详细错误日志很难排查,但是肯定是依赖包的问题,这个包肯定和传入MYSQL参数有关系。经过多方面测试,困扰了我一周的问题解决了,问题出在centos安装的php-mysql扩展,会出现上面SQLAdvisor结束!错误日志:Invalid parameter number!!!!使用php-mysqlnd 替换掉php-mysql 。问题即可解决。

yum install php-mysqlnd

2018-08-02 14:57:12 5294 [Note] 第5步:字段CreateTime不是主键。表名:product_spu_modify

2018-08-02 14:57:12 5294 [Note] 第6步:开始验证 字段CreateTime是不是主键。表名:product_spu_modify

2018-08-02 14:57:12 5294 [Note] show index from product_spu_modify where Key_name = 'PRIMARY' and Column_name ='CreateTime' and Seq_in_index = 1

2018-08-02 14:57:12 5294 [Note] 第7步:字段CreateTime不是主键。表名:product_spu_modify

2018-08-02 14:57:12 5294 [Note] 第8步:开始验证表中是否已存在相关索引。表名:product_spu_modify, 字段名:CreateTime, 在索引中的位置:1

2018-08-02 14:57:12 5294 [Note] show index from product_spu_modify where Column_name ='CreateTime' and Seq_in_index =1

2018-08-02 14:57:12 5294 [Note] 第9步:开始输出表product_spu_modify索引优化建议:

2018-08-02 14:57:12 5294 [Note] Create_Index_SQL:alter table product_spu_modify add index idx_CreateTime(CreateTime)

2018-08-02 14:57:12 5294 [Note] 第10步: SQLAdvisor结束!

转载于:https://blog.51cto.com/277963679/2153620

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值