您好,登錄后才能下訂單哦!
在安裝使用美團網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結束!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。