我理解索引如何帮助提升性能以及如何索引我的数据库的基础知识,但我对重新索引的频率感到困惑。此外,当我重新索引我的数据库时,我是否需要首先删除初始索引,或者我可以重新索引,就好像我是第一次索引一样。
答案 0 :(得分:1)
这不是轨道问题,而是DBMS问题。重新索引的内容,位置,时间和方式取决于您的数据库DBMS,但作为一般规则,除非某些描述存在数据库损坏或者您对索引中包含的数据进行了大量更改,否则很少需要重新编制索引。通过更改,我的意思是更新和删除。
例如,如果您使用Postgres,则此链接可能有助于http://www.postgresql.org/docs/9.1/static/routine-reindex.html。 还可以看看stackexchange。像https://dba.stackexchange.com/questions/1937/is-reindex-dangerous这样的问题和答案可能会启发你。
如果您使用MySQL,那么这是一个非常好的解释http://dev.mysql.com/doc/refman/5.0/en/rebuilding-tables.html
查找您正在使用的任何DBMS,并查看有关如何以及何时重新编制索引的官方文档。重新索引的要求也可能有所不同,具体取决于InnoDB使用的表类型,MySQL的MyISAM可能有不同的要求,csv可能根本没有任何索引