剎那間檢索大量數據有我,露出這一點,非常難以解釋......通過捲曲和PHP
我現在有一個項目,我們都沒有通過互聯網使用內部MSSQL倉庫。用戶需要能夠從可以查詢該內部倉庫並接收報告的普通網站運行查詢。
爲此,我在內部服務器上創建了一個腳本(可通過Internet訪問),它在mssql服務器上運行查詢(通過Intranet)並返回一串數據(使用php://輸出)
爲了在網站端得到這個工作,我在遠程服務器上創建了一個php文件,它向內部服務器發出一個curl請求(包含我傳入的變量),當curl請求完成時它將變量傳回到將內容寫入文件的網站,然後將用戶重定向到該文件。
這有幾個注意事項作品完美...
如果正在運行的查詢是很大的(也可以是絕對巨大的)及其可能的服務器可能需要較長時間(超過3/4小時)運行查詢(索引在內部倉庫不由我處理)。儘管curl請求繼續運行,但我確實發現它有時會失敗。
我有2個選項供用戶使用,1是等待請求完成,所以一個ajax請求然後關閉做這一切,當它完成後,他們被重定向到文件....這有時永遠不會返回...所以用戶將等待它永遠回來 - 我試圖通過每隔5秒檢查一次文件系統上的文件來解決這個問題,如果發現然後下載它 - 這在一定程度上起作用。但有時它仍然會失敗。
第二個選項是一旦完成允許用戶離開網站並讓它繼續在後臺執行curl請求的電子郵件報告,但是如果查詢需要長時間運行,我似乎會得到清空電子郵件,就好像捲曲請求已超時。
如果查詢需要很長時間或者爲什麼javascript有時無法報告它完成,我爲什麼失敗了,我有點失落。任何信息指向正確的方向將是有益的 - 我不認爲我很遠完成這個工作。
倉庫擁有超過1億條記錄。
感謝
凱文
什麼是你的RDM:mysql或sql-server? – Melon
這幾乎是所有的sql服務器,雖然網站上運行的MySQL,這個請求根本不接觸mysql。 – Kevin
你可以發佈你使用的cURL代碼嗎? –