在安裝使用美團(tuán)網(wǎng)sqladvisor時候報(bào)錯:
創(chuàng)新互聯(lián)自2013年創(chuàng)立以來,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目網(wǎng)站建設(shè)、成都網(wǎng)站建設(shè)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元察哈爾右翼后做網(wǎng)站,已為上家服務(wù),為察哈爾右翼后各地企業(yè)和個人服務(wù),聯(lián)系電話:13518219792
./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解析優(yōu)化之后得到的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結(jié)束!錯誤日志:Invalid parameter number
由于沒有詳細(xì)錯誤日志很難排查,但是肯定是依賴包的問題,這個包肯定和傳入MySQL參數(shù)有關(guān)系。經(jīng)過多方面測試,困擾了我一周的問題解決了,問題出在centos安裝的php-mysql擴(kuò)展,會出現(xiàn)上面SQLAdvisor結(jié)束!錯誤日志: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步:開始驗(yàn)證 字段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步:開始驗(yàn)證表中是否已存在相關(guān)索引。表名: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索引優(yōu)化建議:
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結(jié)束!