SQLAdvisor
SQLAdvisor copied to clipboard
mysql_init 返回 NULL
问题是:在执行完命令./sqladvisor -f sql.cnf -v 1后,错误日志什么都没有。
以下是输出日志:
2017-03-31 15:50:01 15432 [Note] 第1步: 对SQL解析优化之后得到的SQL:select count(1) AS count(1) from im_server.message where (msgsender = '10006')
2017-03-31 15:50:01 15432 [Note] 第2步:开始解析where中的条件:(msgsender = '10006')
2017-03-31 15:50:01 15432 [Note] show index from message
2017-03-31 15:50:01 15432 [Note] 第3步:SQLAdvisor结束!错误日志:
后来在sqladvisor里面的main.cc添加一些日志,发现在mysql_sql_parse_field_cardinality_new的MYSQL *con = mysql_init(NULL);方法返回的con为NULL,后来单独写了个demo,验证mysql_init是否好使,确定返回非NULL,mysql环境是percona5.5,看官网推荐是5.6,会不会跟这个有问题,求助,先写了
有大神遇到吗,我也遇到通用问题,db:perocona5.7,不加条件是可以的:
2018-05-23 18:18:13 13485 [Note] 第1步: 对SQL解析优化之后得到的SQL:select * AS * from xx.xx
2018-05-23 18:18:13 13485 [Note] 第2步:表xx 的SQL太逆天,没有优化建议
2018-05-23 18:18:13 13485 [Note] 第3步: SQLAdvisor结束!
一旦有条件和楼上的表现一样,第三步没错误日志