..."/>
您好,登錄后才能下訂單哦!
在安裝使用美團(tuán)網(wǎng)sqladvisor時(shí)候報(bào)錯(cuò):
./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步: 對(duì)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步:開(kāi)始解析where中的條件:(CreateTime > '2018-07-29 14:15:46')
2018-07-30 17:51:19 10008 [Note] 第3步:SQLAdvisor結(jié)束!錯(cuò)誤日志:Invalid parameter number
由于沒(méi)有詳細(xì)錯(cuò)誤日志很難排查,但是肯定是依賴(lài)包的問(wèn)題,這個(gè)包肯定和傳入MYSQL參數(shù)有關(guān)系。經(jīng)過(guò)多方面測(cè)試,困擾了我一周的問(wèn)題解決了,問(wèn)題出在centos安裝的php-mysql擴(kuò)展,會(huì)出現(xiàn)上面SQLAdvisor結(jié)束!錯(cuò)誤日志:Invalid parameter number?。。?!使用php-mysqlnd 替換掉php-mysql 。問(wèn)題即可解決。
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步:開(kāi)始驗(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步:開(kāi)始驗(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步:開(kāi)始輸出表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é)束!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。