0
只是要清楚,當我說IntervalTree我指的是這個數據結構:https://en.wikipedia.org/wiki/Interval_treeIntervalTree從數據庫中查詢?
我想建立成熟的數據庫可查詢表示。我想給一個IP,檢索它的RIPE記錄。我該怎麼做呢?
我有這樣的原型在以下方式。使用https://pypi.python.org/pypi/intervaltree,解析RIPE文件,將'123.123.123.123'等IP字符串編碼爲整數,使用上述模塊構建間隔樹。
問題是,這個結構太大,不能容納在內存中。有一些適合使用的數據庫,它具有對間隔樹等內容的本地支持嗎?
不知道我完全理解。我希望你所描述的將在MySQL上工作,就像一棵二叉樹(即簡單的數據庫索引),而不是BTREE,它就是一棵R樹。但是,從https://dev.mysql.com/doc/refman/5.7/en/creating-spatial-indexes.html看來,它似乎不起作用,因爲BTREE索引是您添加的內容在任何可以具有任何數據類型的列的頂部,而這個R-Tree的東西需要該列是一種稱爲'GEOMETRY'的特殊數據類型。我錯過了什麼? – oneloop
請問您能否澄清一下如何使用這種幾何數據類型?我試圖使用'POINT',但是從https://dev.mysql.com/doc/refman/5.7/en/gis-mysql-specific-functions.html#function_point看起來像'POINT's總是2維。爲了實現對IP的查詢,我期望有一些是一維的。 – oneloop
@oneloop請參閱https://www.bignerdranch.com/blog/using-mysql-spatial-extensions-for-range-queries/ – btilly