单独的一个 查询sql ,解析其执行计划居然是个远程的,这个现象也不对。可以退出会话重新登录一下,然后再explain 一下。
早期OB 版本分析解析执行计划就容易有这个问题,被你会话当前的环境影响了。
此外,如果还有疑点,那就直接跑sql,看 show trace
里执行路径是否有远程。以及单独开窗口去抓取sql的实际执行计划,看实际执行计划是不是远程执行计划。如果是就很不合理了。
单独的一个 查询sql ,解析其执行计划居然是个远程的,这个现象也不对。可以退出会话重新登录一下,然后再explain 一下。
早期OB 版本分析解析执行计划就容易有这个问题,被你会话当前的环境影响了。
此外,如果还有疑点,那就直接跑sql,看 show trace
里执行路径是否有远程。以及单独开窗口去抓取sql的实际执行计划,看实际执行计划是不是远程执行计划。如果是就很不合理了。
你直连到这个节点查询一下 再发一下执行计划 你的架构是什么样的 发一下
你查询一下该表的leader信息
SELECT * FROM oceanbase.DBA_OB_TABLE_LOCATIONS
WHERE DATABASE_NAME=‘test’ and TABLE_NAME=‘t1’ and ROLE=‘LEADER’ and TABLE_TYPE=‘USER TABLE’;
昨天有查询这个
mysql> SELECT * FROM oceanbase.DBA_OB_TABLE_LOCATIONS
WHERE DATABASE_NAME='stock' and TABLE_NAME='stock_cbr' and ROLE='LEADER' and TABLE_TYPE='USER TABLE';
+---------------+------------+----------+------------+----------------+-------------------+------------+---------------+-----------+-------+-------+---------------+----------+--------+--------------+-----------------+-----------+-----------------+---------------+----------+
| DATABASE_NAME | TABLE_NAME | TABLE_ID | TABLE_TYPE | PARTITION_NAME | SUBPARTITION_NAME | INDEX_NAME | DATA_TABLE_ID | TABLET_ID | LS_ID | ZONE | SVR_IP | SVR_PORT | ROLE | REPLICA_TYPE | DUPLICATE_SCOPE | OBJECT_ID | TABLEGROUP_NAME | TABLEGROUP_ID | SHARDING |
+---------------+------------+----------+------------+----------------+-------------------+------------+---------------+-----------+-------+-------+---------------+----------+--------+--------------+-----------------+-----------+-----------------+---------------+----------+
| stock | stock_cbr | 500065 | USER TABLE | NULL | NULL | NULL | NULL | 200029 | 1003 | zone1 | 192.168.10.45 | 2882 | LEADER | FULL | NONE | 500065 | NULL | NULL | NULL |
+---------------+------------+----------+------------+----------------+-------------------+------------+---------------+-----------+-------+-------+---------------+----------+--------+--------------+-----------------+-----------+-----------------+---------------+----------+
1 row in set (0.03 sec)
你是通过odp执行的语句么?还是在某一个节点上直连查询的?
我就navicat连接对应的节点,查的
那你的navicat是通过直连的 还是odp呢 默认情况下 直连是2881端口 odp是2883端口 你要是改了端口就是改了以后的端口
直连的2881哦
好的 那你通过obclient直连这个节点192.168.10.45 执行这个语句 看看 发一下explain extended sql 执行计划 再看看
这个就是之前的发的那个了。我走obd的2883吧,感谢你的回答
好的 直连查询走本地的执行计划 耗时和mysql几乎一样的 如果是远程的执行计划 耗时会慢点
是的,直连性能很好