创建索引时间过久

【 使用环境 】测试环境
创建索引过慢
表中有7亿数据,但是创建索引的时候花费了5天仍然没有创建完成
下面是查询索引视图查询出的状态



image
进程还是在的 花费的时间也一直在变动
想问一下大佬们是不是磁盘空间不足导致?

是先导入的数据,然后再创建索引吗?

对的 现在表中有7亿数据

因为之前试过建了索引之后再导入数据 结果太慢了

我看之前老纪在群里回复你了可以尝试并行创建索引,不知道这种方法是否有效:

并行创建索引试试

设置并发
 SET GLOBAL OB_SQL_WORK_AREA_PERCENTAGE = 30;
SET GLOBAL PARALLEL_SERVERS_TARGET = 64;
SET SESSION _FORCE_PARALLEL_DDL_DOP = 32;


ALTER SYSTEM SET _TEMPORARY_FILE_IO_AREA_SIZE = '5';
还可以调这个参数,调大临时文件内存缓存,可以提升建索引速度。这个要在业务租户内设置,每个租户是各自独立调整的参数。

另外,4.x版本支持了direct旁路导入,这个导入可以直接跳过SQL和事务,在存储层写数据,速度会更快,参考:
https://www.oceanbase.com/docs/common-oceanbase-database-cn-10000000001687926

不应该这么慢啊,我跑benchmark-sql也是先导数,在加索引。2000仓,也有2亿数据的,很快的啊。
看看ocp有没有告警?日志里找找error日志?

大佬想问下ocp和error日志在哪里看的 我刚才进入日志目录全是乱码

ocp应该只需要界面上找告警就行,不需要看日志。
ob的日志,按照标准安装流程的话,应该是/home/admin/oceanbase/log这个目录里边的observer.log和observer.log.wf


这是我部署的时候给的日志地址
但是我进入到目录后 没看到你说的文件observer.log和observer.log.wf
image

redo_dir是存放clog的地方,也就是redo log,用户日志应该在home_path下面,看看/data/observer/log

找到了 谢谢大佬

有什么异常日志吗?

没有看到异常日志 想问一下问题

请问这个是已经创建索引的行数吗

日志都是这种 看上去不是异常日志


感觉是在串行插入索引,单线程插入7亿数据

租户是不是配置太小了。7亿耗时5天不至于

这个时间是很长了,创建索引的耗时不能只看涉及的行数,而且要看索引涉及的列,列的数据分布等相关情况,怀疑空间问题可以看下空间就可以确认,另外可以通过日志或者创建索引会话初步排查原因