用Google搜索什麼會用時大於1秒?

至今我沒有見到過Google搜索用時大於1s的情況。

如果有,希望告知。

還是說Google設定搜索1s後無結果則終止搜索?

註:此處搜索用時指的是Google伺服器提取信息所用時間(在搜索結果頁面顯示),而非網頁渲染和信息傳輸用時。


在中國的時候,每一次搜索需要的時間都是正無窮



打開http://www.google.com 顯示 「無法顯示此網頁」時。



在排除你的電腦與谷歌伺服器的網路連通問題、谷歌伺服器極小概率出現抽風的情況下:幾乎不可能出現搜索耗時超過一秒的情況。

可能題主以為搜索資料都是挨個匹配結果,這樣如果谷歌收錄的網頁快照內容多,搜索、匹配關鍵字的耗時也會成倍增加;其實谷歌、百度等搜索引擎在存放收錄網頁時,已經提取關鍵字並對結果進行優化了。

舉個例子:假設在身份信息庫里匹配A的身份證號。

我們知道身份證有18位,考慮一種極端情況,從0000 0000 0000 0000 01 匹配到 9999 9999 9999 9999 99,總共大概萬兆級別個數字(按大數計數法不同,名稱有所區別),要挨個匹配無疑需消耗天文時間。

身份證數字規律;

(1)前1、2位數字表示:所在省份的代碼;

(2)第3、4位數字表示:所在城市的代碼;

(3)第5、6位數字表示:所在區縣的代碼;

(4)第7~14位數字表示:出生年、月、日;

(5)第15、16位數字表示:戶口所在地派出所的代表號碼;

(6)第17位數字表示性別:奇數表示男性,偶數表示女性;

(7)第18位數字是校檢碼:代表個人信息,是根據前十七位數字計算出來的

假設A是安徽省的,那麼直接匹配34號段下的數字即可,需匹配百兆個數;

又知道A是合肥市轄區的,那麼只需匹配340101即可,需匹配千億個數;

再知道A是1990年1月1日出生的,那麼只需匹配34010119900101里的數段,徐匹配一萬個數;

然後再根據派出所代碼和性別,又只剩下一百個號碼;

再結合校驗碼,直接就查詢到你的身份信息了。

伺服器也廣泛採取了類似的資料庫優化+查找技術(當然更高級),這樣我們在搜索關鍵字時幾乎感覺不到延遲(網路差除外)。從萬兆-百兆-千億-萬-百,這近乎開N次根號般的減小規模,電腦只需要四五次判斷就能鎖定一個很小的範圍。以目前個人電腦為例:在目前動輒Ghz主頻(每秒10億次震蕩)的計算速度面前,這點耗時幾乎提不上檯面,更別說谷歌這種採用大型雲伺服器的計算能力了。

總結:因為資料庫通常都採取了優化技術,搜索耗時跟優化過的總資料庫容量關係不大。


/* 這個回答可能很水,但是絕不是抖機靈 */

Google 是一個強大的利器,它的功能可不僅僅是搜索結果,我們可以試試,如果在 Google 搜索這個東西會怎麼樣:(x*y+y^x)sin(0.618/(x^2+y^2)*10)

如果你的電腦配置不是很高,那麼繪製這個 3D 的圖片可能需要比較長的時間,那就是超過 1s。

我放一下圖:


搜索不在其資料庫中的內容時……(其實就是爬蟲抓數據的時間……)


只要某個人搜索過類似的信息建立了索引,那麼別人再次搜索必定會消耗更小的時間,因為有索引可用。

所以,即使有耗時超過1秒的搜索結果,只要咱們驗證了。對於你再次驗證來說必定不可能超過1秒。

結論:此問題無解


搜索:為何我家網速這麼慢


推薦閱讀:

硬碟寫到一半斷電時文件系統發生了什麼?
個人開發web應用,從需求設計,界面設計,資料庫設計,API設計等,好的開發流程是怎麼樣的?
目前流行病學有成熟的資料庫嗎?
資料庫學習有哪些好的推薦教材?
什麼是資料庫的一致性?一致性弱意味著什麼?NoSQL 的弱一致性又為什麼是可以被接受的?

TAG:資料庫 | 谷歌Google | 搜索引擎 | Google搜索 |