PHP查詢MongoDB慢的問題

來源:互聯網
上載者:User

標籤:php mongodb 資料庫

問題背景:

公司和騰迅合作開發了一款手遊,需要開發一個後台管理平台來統計每日遊戲資料;資料量相對比較大的集合有兩個,一個是user_info,大約有2453條資料,另外一個是room_data,大約有8456條資料。

問題內容:

功能開發完畢,可是查詢mongodb資料庫並顯示資料特別慢,用時大約10S。這是什麼鬼,為何如此之慢?

問題解決辦法:

首先想到的是給集合添加索引,將所操作集合添加完索引後依舊沒有解決問題!汗!什麼原因?還是先去問問度娘吧!問了一痛問題還是沒有解決。既然度娘解決不了,還是冷靜冷靜自己查查代碼吧。因為統計的資料比較多,所以需要多次的查詢資料庫,寫12個方法為其服務。查詢的資料需要進行去重處理,因為第一次使用mongodb資料庫,所以還不是很熟,所以去重處理當時是使用PHP做的處理。正是這個去重處理要了我的親命。先保留第一個方法,將其他所有調用的方法注釋掉後發現查詢時間並沒有什麼異常。當開啟調用第二個方法的注釋後發現查詢時間明顯的慢了下來。接下來試著修改第二個方法的去重處理交給mongodb去做,驚奇的發現時間快了好多,原來問題出在這;迅速將所有方法的去重處理都改為由mongodb去做,再次測試發現耗時為338ms,大大的節約了時間開銷。

問題啟示:

問題解決後得到的啟示是資料庫是為處理儲存資料而生,因此資料庫能做到的盡量讓資料庫去做。當然也有特例,比較mysql的多表查詢還是少用,效率比較低下。

PHP查詢MongoDB慢的問題

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.