读写测试比mysql更慢很多,是什么原因,该如何优化

python /opt/homebrew/bin/python3.10 /Users/zhiwen/Documents/code/python/sync-oceanbase-py/Main.py

2024-04-18 11:13:51 - mian程序开始!

2024-04-18 11:13:51 - sap请求开始!

2024-04-18 11:18:26 - sap请求成功!

2024-04-18 11:18:31 - 数据转换完成

2024-04-18 11:18:31 - writeMysql 开始!

2024-04-18 11:19:44 - writeMysql 结束!

writeMysql 程序运行时间: 00:01:12

2024-04-18 11:19:44 - writeOceanbase 开始!

2024-04-18 11:26:07 - writeOceanbase 结束!

writeOceanbase 程序运行时间: 00:06:23

2024-04-18 11:26:08 - mian程序结束!

mian程序运行时间: 00:12:16

➜ python

为什么oceanbase比mysql读写性能速度差了这么多,有什么优化的方法呀
还有为什么数据有变更的时候查询速度就会较慢,过一段时间后速度就变得稳定快了

有具体sql示例吗,sql执行计划,表结构等。

数据如果有大量且频繁变更时,需要全量合并下。
可以参看这个文档:
OceanBase 社区151shxy_gaODQzNDgzMjU4LjE2NjM1NzU0MjE._ga_T35KTM57DZ*MTcxMzQyNjQ2OC4yMTEzLjEuMTcxMzQzMjExMy41NS4wLjA.

4.x 空洞率sql:

SELECT      loc.TENANT_ID,     loc.DATABASE_NAME,     loc.TABLE_NAME,     loc.TABLE_ID,     SUM(rep.DATA_SIZE) AS DATA_SIZE,     SUM(rep.REQUIRED_SIZE) AS REQUIRED_SIZE,     SUM(rep.DATA_SIZE) / NULLIF(SUM(rep.REQUIRED_SIZE), 0) AS SIZE_RATIO FROM      oceanbase.CDB_OB_TABLE_LOCATIONS loc JOIN      oceanbase.CDB_OB_TABLET_REPLICAS rep ON      loc.TABLET_ID = rep.TABLET_ID WHERE      loc.TABLE_TYPE = 'USER TABLE' and     loc.TENANT_ID = 1002 GROUP BY      loc.DATABASE_NAME,     loc.TABLE_NAME,     loc.TABLE_ID  limit 2;

表结构.txt (5.3 KB)