我遇到以下問題。 我寫了一個查詢:Neo4j通過PHP執行查詢時速度很慢,但通過webadmin非常快速
MATCH (n:RealNode {gid:'58687'})-[:CONTAINS*..15]-(z) RETURN DISTINCT ID(z), z.id,n.id as InternalID
,我通過PHP腳本運行(通過發送POST請求)。它需要很長時間才能得到迴應,有時neo4j會掛起。 我在Neo4j webadmin中嘗試了相同的查詢,並以ms爲單位獲得響應。
任何想法爲什麼在第一種情況下,反應需要這麼多時間?
EDITED 這要求使用curl:
$obj_id = $_POST['datastr'];
$dataArr = array("query" => "MATCH (n {gid:'$obj_id'})-[:CONTAINS*..15]-(z) RETURN DISTINCT ID(z), z.id,n.id as InternalID");
$data = json_encode($dataArr);
$curl=curl_init();
curl_setopt($curl,CURLOPT_HTTPHEADER,array('Accept: application/json; charset=UTF-8','Content-Type: application/json','Content-Length: ' . strlen($data),'X-Stream: true'));
curl_setopt($curl, CURLOPT_URL, 'http://localhost:7474/db/data/cypher/');
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "POST"); //type of request
curl_setopt($curl, CURLOPT_POSTFIELDS,$data); // data to post
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // return response as string
$response = curl_exec($curl);
echo $response;
curl_close($curl);
你如何發送您的查詢在PHP?你是否使用像neoclient這樣的驅動程序?你是否在使用像庫一樣的http庫?或者你只是利用Curl? – 2015-02-24 15:40:49
我使用Curl來提出請求。我用CURL請求編輯了我的問題。 – user1919 2015-02-24 15:46:31
你正在使用舊的密碼端點,我想你會通過使用密碼事務端點得到更好的結果 – 2015-02-24 15:54:31