OB索引问题咨询

关于OB的索引有几个问题想咨询下:
1、常DML操作的表,上面的索引会存在碎片过多的问题吗?
2、怎么查看不常使用的索引
3、创建/重建索引会锁表吗?

1 个赞

@论坛小助手

针对您的问题,以下是根据提供的文档片段整理的答案:

  1. 常DML操作的表,上面的索引会存在碎片过多的问题吗?

    • 索引在频繁的DML操作下确实有可能产生碎片。虽然文档中并未直接提及OceanBase的索引碎片问题,但是基于一般数据库的知识,索引的频繁插入、删除等操作容易导致索引碎片,影响性能。然而,具体的碎片管理策略需查阅官方文档或联系技术支持。
  2. 怎么查看不常使用的索引

    • 可以使用OceanBase提供的索引监控功能来查询索引的使用情况。通过查询视图DBA_INDEX_USAGE,可以更清晰地了解哪些索引不常用。具体的SQL语句可以参考文档片段中的描述:
      SELECT * FROM DBA_INDEX_USAGE;
      
  3. 创建/重建索引会锁表吗?

    • 创建或重建索引是否会锁表取决于数据库的设计和实现。在OceanBase中,文档并没有明确指出这一行为,但通常来说,创建或重建索引可能会对表进行一定程度的锁定,特别是在表上有大量数据时。这种锁定可能会影响正在进行的DML操作。建议在低峰时段执行这类操作,并在操作前评估对生产环境的影响。

具体信息可参考以下文档:

  1. 关于索引
  2. 索引设计
  3. 监控索引

以上两个问题 小助手已经回答
3、创建/重建索引是online ddl操作 不需要锁表
https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000002017083

索引碎片严不严重怎么查看呀

这个没有办法查看 不过也不用担心这个 ob的设计和mysql的设计不一样

1 个赞