搜索參數中的用戶鍵,然後我們向數據提供者發出請求並將用戶重定向到加載頁面。來自數據提供者的響應命中一個回調url,在這種情況下,我們解析結果並將大約200行存儲到db中。與此同時,加載頁面使用ajax來每秒查詢數據庫,當結果全部到達時,我們會將結果顯示給用戶。插入MYSQl速度太慢
問題是插入到mysql數據庫太慢了。我們知道來自數據提供者的響應會在幾秒鐘內回來,但腳本的處理和將行插入到數據庫中非常緩慢。我們確實使用多行插入。
任何改善建議?供參考,代碼非常長...這就是爲什麼現在不顯示。
搜索參數中的用戶鍵,然後我們向數據提供者發出請求並將用戶重定向到加載頁面。來自數據提供者的響應命中一個回調url,在這種情況下,我們解析結果並將大約200行存儲到db中。與此同時,加載頁面使用ajax來每秒查詢數據庫,當結果全部到達時,我們會將結果顯示給用戶。插入MYSQl速度太慢
問題是插入到mysql數據庫太慢了。我們知道來自數據提供者的響應會在幾秒鐘內回來,但腳本的處理和將行插入到數據庫中非常緩慢。我們確實使用多行插入。
任何改善建議?供參考,代碼非常長...這就是爲什麼現在不顯示。
有衆多影響您插入因素:
1)慢的硬件和糟糕的服務器的速度。 溶膠:請與服務器管理員
2)使用InnoDB的比
3以外的東西)使用代理鍵,比你的主鍵是數字和順序與你本身的主鍵以及其他。
OR
建議:而不是運行在一個頁面上的代碼,並讓用戶等待整個過程,爲什麼沒有PHP頁面存儲指令在PHP隊列?然後,指令將由單獨的php腳本執行(例如Cron作業),用戶不必等待整個過程發生。
但是,在這種情況下,讓用戶知道所做的更改可能需要一點時間才能更新。
克倫職位很容易實現。在CPanel中,Cron作業有一個選項,您可以在其中指定要運行哪個腳本以及在哪個區間中。您可以讓腳本知道每1分鐘運行一次(或多或少取決於需求量)。從那裏你的腳本將檢查隊列,並可以繼續運行,直到隊列再次爲空。
讓我知道是否有幫助!
它有多慢?插入200行,它也不會那麼快。 – rahul
擴展,數據庫引擎,索引?插入前已預處理?連接/斷開每個插入?足夠的機器功率?我猜想還有很多其他事情需要考慮。 – frz3993
@Plum大約需要15-25秒。在開發上它大約快2-3秒。 – TimNguyenBSM