200G的數據,主要是查詢操作,酷睿I5個人PC,應該選擇什麼資料庫來存儲?
01-16
現有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 有什麼區別?
※隊列是什麼意思?