mysql 千萬級別的資料行 應該怎麼儲存???以及查詢???

時間 2021-05-30 17:58:13

1樓:裴帥帥

對於MySQL,個人感覺超過幾千萬,並且有高速查詢的需求,基本上可以考慮其他儲存方案了;

對於你的問題,需要按照索引:origin_id, target_id查詢,這個場景有兩個其他方案都可以做:

1、hbase:rowkey直接設計成origin_id, target_id包含這倆字段,hbase甚至可以載入TB的資料,實現ms級別查詢,mysql匯入到Hbase也有專門的工具;

2、elasticsearch,這個更厲害可以隨意建立多個索引查詢,不過效能稍差些;

這兩個都能解決你的問題,甚至放到redis cluster、couchbase都可以;

不要糾結於mysql了,mysql主要是對事務性的支援很厲害,若要涉及大資料量、多索引查詢就換引擎吧。

2樓:張權-松果時序庫

不是特別清楚你的需求,所以就用猜的,如果這些資料不會修改,可以寫個程式去完成:

將這些資料儲存到乙個檔案中。

程式啟動時將這些資料載入到記憶體,建立合適的資料結構,這些資料載入到記憶體應該小於1G,還可以根據資料再優化,可能能小於512M。

提供乙個獲取矩陣的介面,查詢1000個點的矩陣,時間應該在100毫秒以下。

mysql如果單錶資料量過千萬怎麼辦?

看業務場景 第一步看索引,千萬級的表如果走索引其實還能讀,但是qps會降低一點,反正qps都在k級別。mysql的寫入比讀差乙個數量級。如果是日誌型表可以試試把舊的資料定時同步到其他例項減少表的大小。多讀的可以先主從,然後從庫處理讀,主從比分表簡單。如果是很多關聯而且時效不高可以先做乙個關聯表定時將...

mysql千萬級資料量僅提供組合查詢服務,該如何進行技術選型?

justabug 卸腰。140個字段 在多少個表裡面?千萬行,的確都是常規單錶的小瓶頸。但問題不大。樓上也問了,你併發量和可用性什麼情況?我也想問你平時拉取的場景是怎樣的?遇到了什麼問題?哪方面效能你不滿意?你都選好了mysql了,想問集群高可用選型,還是cdc選型,還是查詢中介軟體選型,還是快取選...

資料庫MVCC和隔離級別的關係是什麼?

婁晨耀 隔離級別是指資料庫對transactions行為的保證。比如說serializable 保證每個transaction 就像乙個原子操作在乙個時間點發生。repeatable read 保證了讀過的資料再次讀還是一樣,聽起來就比serializable 差很多。保證了serializable...