如何最佳化調用soap介面查詢的速度

來源:互聯網
上載者:User
關鍵字 php mysql windows-server
請教各位大神,本人公司當前項目需要獲得會員的購物積分,但是新的積分查詢程式構建在另一個平台之上,我需要通過SOAP介面的方式擷取最近的積分資料。 但批量調用SOAP查詢積分的速度將受到大幅度的限制。

目前查詢的新需求是擷取某個積分區間的使用者資訊(使用者資料資訊在我本人公司,對方公司的資料表上沒有建立任何索引,每次積分查詢都是通過關聯查詢的方式擷取積分...[-_- 有點悲劇]。虛心請教..有沒有什麼好的辦法可以提升查詢的速度。。。

調用SOAP的PHP函數如下:

 true, 'exceptions' => true));        $request  = $connect->__soapCall('getCustomerScore', array(array('custId' => $custId)));        $response = json_decode($request->getCustomerScoreResult, true);        if (empty($response['error'])) {            $score = json_decode($response['scoreList'][0], true);            return $score['scoreBalance'];        } else {            return false;        }    }

查詢積分後,我通過本機資料庫查詢使用者的基本資料, 然後用關聯陣列組合,目前能稍微快些。。

但是如果查詢量繼續變大的話, 速度會大幅度降低。。

回複內容:

請教各位大神,本人公司當前項目需要獲得會員的購物積分,但是新的積分查詢程式構建在另一個平台之上,我需要通過SOAP介面的方式擷取最近的積分資料。但批量調用SOAP查詢積分的速度將受到大幅度的限制。

目前查詢的新需求是擷取某個積分區間的使用者資訊(使用者資料資訊在我本人公司,對方公司的資料表上沒有建立任何索引,每次積分查詢都是通過關聯查詢的方式擷取積分...[-_- 有點悲劇]。虛心請教..有沒有什麼好的辦法可以提升查詢的速度。。。

調用SOAP的PHP函數如下:

 true, 'exceptions' => true));        $request  = $connect->__soapCall('getCustomerScore', array(array('custId' => $custId)));        $response = json_decode($request->getCustomerScoreResult, true);        if (empty($response['error'])) {            $score = json_decode($response['scoreList'][0], true);            return $score['scoreBalance'];        } else {            return false;        }    }

查詢積分後,我通過本機資料庫查詢使用者的基本資料, 然後用關聯陣列組合,目前能稍微快些。。

但是如果查詢量繼續變大的話, 速度會大幅度降低。。

1.我不知道SOAP服務是否給你們提供了其他的調用方法,看你樣本裡面是根據使用者來查詢其對應的積分,因為你的需求是根據積分分段來查詢使用者,如果有類似getCustomerByScore()方法可能調用起來更方便,你現在的方法應該是要遍曆所有使用者,如果有根據分數查詢使用者集合的方法的話,資料量應該會減少不少。
2.如果對方的服務單個請求時間就是很長,那也沒有神馬辦法 -_-[找老大看能不能談]
3.如果你們的會員積分資訊不是那麼需要即時性,可以用cronjob等定時跑,把使用者的會員資訊臨時儲存在你們本地,這樣才有進一步最佳化的可能。

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.