應用程序必須使用用戶給出的一些標準來顯示從按字母順序排列的列表中檢索的記錄。該列表是從兩個或多個表中選擇的。用戶可以詢問下一頁或上一頁,或者提供其編號的特定頁面。一個網頁最多可以包含20條記錄。見我的演示在http://193.226.19.29:1200特定搜索問題的網站:是否使用C語言?
經典的網絡工具(例如,PHP和MySQL):瓶頸
如果用戶要求5000頁,數據庫服務器必須選擇第一個10萬分的記錄。 LIMIT子句將在達到此限制後停止搜索過程,並且php腳本僅獲取最後20條記錄。如果我們要求列表的最後幾頁,搜索過程可能需要幾分鐘的時間。如何加快搜索過程從列表的中間/末尾檢索20條記錄?
我的解決方案採用C語言
我的web服務器在啓動時讀取主存儲器中的整個列表,然後它已準備好接受連接。它能夠從一個給定的位置開始搜索過程,然後檢索所需的記錄。網絡服務器在Celeron 768 Mhz,256 Mb內存,Linux Fedora操作系統上運行。
我看了很多Web程序員的意見,關於使用C語言編寫網絡應用程序的
Why do you not use C for your web apps?
How popular is C++ for making websites/web applications?
起初我實現了另一個搜索標準(名稱以...)和搜索過程非常快 - 大約0.015秒。現在,如果您填寫的字段名稱包含...,搜索過程有時會很慢,因爲在顯示第一頁時,網絡服務器會檢查整個列表。
使用C很容易解決搜索問題 - 至少從我的角度來看。現在我必須找到一個優雅的解決方案來解決更新問題 - 即易於編寫和可接受的運行時間。
有沒有人知道一些基於經典網絡工具的解決方案來解決這個問題,使得響應時間可以接受任何查詢?