我有一个地理数据库,其中包含x,y,z,缩放和类型的列。当我使用呼叫
时,最初读取速度非常慢SELECT image WHERE x = ... AND y=... AND zoom=... AND type =...
感谢堆栈溢出的帮助,我发现(x,y,z,zoom)的索引有助于提高读取速度。
但是,我有一个问题,这个CREATE INDEX命令只需要在第一次初始化数据库时发出一次?即使数据库逐渐成长,它仍然会享受索引带来的读取速度提升吗?
或者每次关闭应用程序之前是否需要发出CREATE INDEX命令(在应用程序期间,数据库会增长)?
答案 0 :(得分:3)
您只需要创建一次索引。
数据库将记住带索引的列,并将不断更改索引和表格。
如果您在表中插入一个条目,它将被添加到索引中。如果更改条目 - 将在索引中进行修改。最后,如果删除条目 - 它将从索引中删除。
请注意,索引会加快您的搜索操作 - SELECT
对索引列的速度,但会降级INSERT
,UPDATE
,DELETE
。