我有一个包含x、y、z、zoom和type列的地理地图数据库。最初,当我使用调用时,读取速度非常慢
SELECT image WHERE x = ... AND y=... AND zoom=... AND type =...
多亏了堆栈溢出的帮助,我发现索引(x,y,z,zoom)极大地提高了读取速度。
然而,我有一个问题,这个CREATE INDEX命令只需要在数据库第一次初始化时发出一次?即使数据库逐渐成长起来,它仍然会享受索引带来的读取速度的提高吗?
或者,我是否需要在每次关闭应用程序之前发出CREATE INDEX命令(在应用程序期间,数据库将会增长)?
当数据库只有250 my时,neo4j2elasticsearch在我的机器上工作。但是数据库大约是2GB。它不再同步了。我想知道是因为配置文件中的这些参数:
#optional, size of the in-memory queue that queues up operations to be synchronised to Elasticsearch, defaults to 10000
com.graphaware.module.ES.queueSize=10000
#optional, size of the batch size to use during re-initial
有没有一种合理的方法来索引您不能在自己控制的服务器上控制的数据库?
我们使用来自外部数据供应商的数据,该供应商使用他们编写的程序将数据直接传送到MS SQL server 2008数据库中,我们在服务器上运行这些程序。数据库的规范指出,我们对数据库所做的任何更改都可能在它们的更新期间被删除,并且在查询时,它们确认它们可能会删除索引。所以我们控制服务器,但我们的供应商控制数据库。表上的唯一索引是聚集的主键,因此查询非常慢。