200G的數據,主要是查詢操作,酷睿I5個人PC,應該選擇什麼資料庫來存儲?

現有200G的xml格式的數據,使用mysql存儲發現查詢速度太低(select count(id) from table1 操作需要60min),求各位推薦合適的存儲資料庫,主要進行的操作是查詢,沒有增加和刪除操作

補充:我對posts表中的ownerUserIdea建立了索引,但是下面這個操作:「SELECT DISTINCT(OwnerUserId) FROM `posts` where posts.creationdate &> "2009-05-01 00:00:00" and posts.creationdate &< "2009-08-01 00:00:00";」花費了15個小時,posts表大小27.5 GB,共計21736594條數據


你沒有做index吧?


硬體SSD;沒提內存大小,大內存;

如果用oracle, 按日期分區,建立複合索引(OwnerUserId+creationdate


要根據你到底做哪些查詢,建索引。然後再看查詢的速度到底怎樣。

估算一下索引的量,要保證內存能裝下整個索引,查詢的速度就不會太差。

如果這個保證不了,基本上什麼資料庫都不行,要增加硬體了……


買個ssd


時間比較沒有用索引,你就是自己坑自己呢


樓主用了哪個mysql引擎呢?不會是基於xml文本的引擎吧?


mysql查詢需要這麼長的時間啊,那等的黃花菜都要涼了。我也在開發一個網站用的是php+mysql,會員的互相關注和粉絲這張錶行數增長太快,正考慮用什麼資料庫好,據說熱數據查詢用redis不錯,但只是據說。


首先是否有index,其次,mysql都需要60min,其他的不見得有顯著提升了,如果大量查詢的話,可以考慮下infobright,也是mysql

你用between and,然後再analyze,具體單詞記不住了,囧


可以用explain來查看到底有沒有用上索引,如果沒用上查詢語句上可以怎麼改進。

二是表結構是否合適,是如何定義的。

如果說就單單是玩玩數據,而不是線上長期使用,可以用infobright來處理,當一個mysql用就可以,學習成本低,在這個數量級也比較輕鬆。


根據你的sql語句,你要給creationdate建立索引才有效果,而且如匿名用戶的說法需要注意索引的量與內存的關係.


Hbase or Mongo 你值得擁有


推薦閱讀:

redis是個單線程的程序,為什麼會這麼快呢?每秒10000?這個有點不解,具體是快在哪裡呢?EPOLL?內存?
Redis服務支持5000萬的QPS,有什麼好的思路?
如何評價360開源的pika項目?
scrapy-redis 和 scrapy 有什麼區別?
隊列是什麼意思?

TAG:資料庫 | Redis | MongoDB | Hadoop |