阅读192 返回首页    go 微信


DRDS控制指令__开发手册_分布式关系型数据库 DRDS-阿里云

为方便用户使用和维护DRDS ,DRDS 提供自己特有的辅助语句。

说明:[] 中的为用户提供的标识符,( ) 中为可选内容。此外,此文档适用于当前版本,如一些语句不可用,说明用户使用的版本过低。

1 一般帮助语句

1) SHOW HELP 语句

使用方式:

  1. mysql> show help;
  2. +-----------------------------------------+---------------------------------------------------------+---------------------------------------------+
  3. | STATEMENT | DESCRIPTION | EXAMPLE |
  4. +-----------------------------------------+---------------------------------------------------------+---------------------------------------------+
  5. | show rule | Report all table rule | |
  6. | show rule from TABLE | Report table rule | show rule from user |
  7. | show full rule from TABLE | Report table full rule | show full rule from user |
  8. | show topology from TABLE | Report table physical topology | show topology from user |
  9. | show partitions from TABLE | Report table dbPartition or tbPartition columns | show partitions from user |
  10. | show broadcasts | Report all broadcast tables | |
  11. | show datasources | Report all partition db threadPool info | |
  12. | show node | Report master/slave read status | |
  13. | show slow | Report top 100 slow sql | |
  14. | show physical_slow | Report top 100 physical slow sql | |
  15. | clear slow | Clear slow data | |
  16. | trace SQL | Start trace sql, use show trace to print profiling data | trace select count(*) from user; show trace |
  17. | show trace | Report sql execute profiling info | |
  18. | explain SQL | Report sql plan info | explain select count(*) from user |
  19. | explain detail SQL | Report sql detail plan info | explain detail select count(*) from user |
  20. | explain execute SQL | Report sql on physical db plan info | explain execute select count(*) from user |
  21. | show sequences | Report all sequences status | |
  22. | create sequence NAME [start with COUNT] | Create sequence | create sequence test start with 0 |
  23. | alter sequence NAME [start with COUNT] | Alter sequence | alter sequence test start with 100000 |
  24. | drop sequence NAME | Drop sequence | drop sequence test |
  25. +-----------------------------------------+---------------------------------------------------------+---------------------------------------------+
  26. 20 rows in set (0.00 sec)

使用场景:

  1. 对于不清楚DRDS 提供的维护SQL,可以通过此语句获取。

使用说明:

  1. SHOW HELP 内的各个SQL,会在后面具体说明。

2 规则查看、节点拓扑语句

1) SHOW RULE 语句

使用方式:

  1. mysql> show rule ;
  2. +------+--------------+-----------+------------------+---------------------+--------------------+------------------+---------------------+--------------------+
  3. | ID | TABLE_NAME | BROADCAST | DB_PARTITION_KEY | DB_PARTITION_POLICY | DB_PARTITION_COUNT | TB_PARTITION_KEY | TB_PARTITION_POLICY | TB_PARTITION_COUNT |
  4. +------+--------------+-----------+------------------+---------------------+--------------------+------------------+---------------------+--------------------+
  5. | 0 | barbecue_acc | 0 | id | hash | 4 | id | hash | 16 |
  6. | 1 | ljh_example | 0 | | NULL | 1 | | NULL | 1 |
  7. | 2 | ljh_test | 0 | id | hash | 4 | id | hash | 2 |
  8. | 3 | tddl88_users | 0 | school_id | hash | 4 | | NULL | 1 |
  9. | 4 | tddl8_users | 0 | school_id | hash | 4 | | NULL | 1 |
  10. | 5 | tddl_mgr_log | 0 | host | hash | 4 | host | hash | 16 |
  11. | 6 | usermfrdtbl | 0 | uid | hash | 4 | | NULL | 1 |
  12. +------+--------------+-----------+------------------+---------------------+--------------------+------------------+---------------------+--------------------+
  13. 7 rows in set (2.80 sec)

使用场景:

  1. 查看对应逻辑库下,使用分库分表的表所采用的路由规则。

使用说明:

  1. 所有采用分表的逻辑表路由规则查看,包含是否为广播表,分库分表方案,分库分表数等信息。

2) SHOW RULE FROM [tablename]

使用方式:

  1. mysql> show rule from tddl_mgr_log;
  2. +------+--------------+-----------+------------------+---------------------+--------------------+------------------+---------------------+--------------------+
  3. | ID | TABLE_NAME | BROADCAST | DB_PARTITION_KEY | DB_PARTITION_POLICY | DB_PARTITION_COUNT | TB_PARTITION_KEY | TB_PARTITION_POLICY | TB_PARTITION_COUNT |
  4. +------+--------------+-----------+------------------+---------------------+--------------------+------------------+---------------------+--------------------+
  5. | 0 | tddl_mgr_log | 0 | host | hash | 4 | host | hash | 16 |
  6. +------+--------------+-----------+------------------+---------------------+--------------------+------------------+---------------------+--------------------+
  7. 1 row in set (0.46 sec)

使用场景:

  1. 查看对应逻辑库下,表的分库分表规则。

使用说明:

  1. 类似 SHOW RULE,但是可以查看所有表的信息,不单单是分库分表的表。

3) SHOW FULL RULE FROM [tablename]

使用方式:

  1. mysql> show full rule from tddl_mgr_log;
  2. +------+--------------+-----------+------------+-----------------------+------------------+--------------------------------------------------------------+-------------------+---------------------------------------------------+----------------+------------------+
  3. | ID | TABLE_NAME | BROADCAST | JOIN_GROUP | ALLOW_FULL_TABLE_SCAN | DB_NAME_PATTERN | DB_RULES_STR | TB_NAME_PATTERN | TB_RULES_STR | PARTITION_KEYS | DEFAULT_DB_INDEX |
  4. +------+--------------+-----------+------------+-----------------------+------------------+--------------------------------------------------------------+-------------------+---------------------------------------------------+----------------+------------------+
  5. | 0 | tddl_mgr_log | 0 | NULL | 1 | TDDL5_{00}_GROUP | ((#host,1,64#).hashCode().abs().longValue() % 64).intdiv(16) | tddl_mgr_log_{00} | ((#host,1,64#).hashCode().abs().longValue() % 64) | [host] | TDDL5_00_GROUP |
  6. +------+--------------+-----------+------------+-----------------------+------------------+--------------------------------------------------------------+-------------------+---------------------------------------------------+----------------+------------------+
  7. 1 row in set (0.00 sec)

使用场景:

  1. 需要获取更多规则信息,如可否全分表扫描,分库、分表具体规则等。

使用说明:

  1. 比SHOW RULE 更加详细,包含是否可全表扫描,分库、分表具体规则,但对于非分库分表的表,无法获取对应信息。

4) SHOW TOPOLOGY FROM [tablename]

使用方式:

  1. mysql> show topology from tddl_mgr_log;
  2. +------+----------------+-----------------+
  3. | ID | GROUP_NAME | TABLE_NAME |
  4. +------+----------------+-----------------+
  5. | 0 | TDDL5_00_GROUP | tddl_mgr_log_00 |
  6. | 1 | TDDL5_00_GROUP | tddl_mgr_log_01 |
  7. | 2 | TDDL5_00_GROUP | tddl_mgr_log_02 |
  8. | 3 | TDDL5_00_GROUP | tddl_mgr_log_03 |
  9. | 4 | TDDL5_00_GROUP | tddl_mgr_log_04 |
  10. | 5 | TDDL5_00_GROUP | tddl_mgr_log_05 |
  11. | 6 | TDDL5_00_GROUP | tddl_mgr_log_06 |
  12. | 7 | TDDL5_00_GROUP | tddl_mgr_log_07 |
  13. | 8 | TDDL5_00_GROUP | tddl_mgr_log_08 |
  14. | 9 | TDDL5_00_GROUP | tddl_mgr_log_09 |
  15. | 10 | TDDL5_00_GROUP | tddl_mgr_log_10 |
  16. | 11 | TDDL5_00_GROUP | tddl_mgr_log_11 |
  17. | 12 | TDDL5_00_GROUP | tddl_mgr_log_12 |
  18. | 13 | TDDL5_00_GROUP | tddl_mgr_log_13 |
  19. | 14 | TDDL5_00_GROUP | tddl_mgr_log_14 |
  20. | 15 | TDDL5_00_GROUP | tddl_mgr_log_15 |
  21. | 16 | TDDL5_01_GROUP | tddl_mgr_log_16 |
  22. | 17 | TDDL5_01_GROUP | tddl_mgr_log_17 |
  23. | 18 | TDDL5_01_GROUP | tddl_mgr_log_18 |
  24. | 19 | TDDL5_01_GROUP | tddl_mgr_log_19 |
  25. | 20 | TDDL5_01_GROUP | tddl_mgr_log_20 |
  26. | 21 | TDDL5_01_GROUP | tddl_mgr_log_21 |
  27. | 22 | TDDL5_01_GROUP | tddl_mgr_log_22 |
  28. | 23 | TDDL5_01_GROUP | tddl_mgr_log_23 |
  29. | 24 | TDDL5_01_GROUP | tddl_mgr_log_24 |
  30. | 25 | TDDL5_01_GROUP | tddl_mgr_log_25 |
  31. | 26 | TDDL5_01_GROUP | tddl_mgr_log_26 |
  32. | 27 | TDDL5_01_GROUP | tddl_mgr_log_27 |
  33. | 28 | TDDL5_01_GROUP | tddl_mgr_log_28 |
  34. | 29 | TDDL5_01_GROUP | tddl_mgr_log_29 |
  35. | 30 | TDDL5_01_GROUP | tddl_mgr_log_30 |
  36. | 31 | TDDL5_01_GROUP | tddl_mgr_log_31 |
  37. | 32 | TDDL5_02_GROUP | tddl_mgr_log_32 |
  38. | 33 | TDDL5_02_GROUP | tddl_mgr_log_33 |
  39. | 34 | TDDL5_02_GROUP | tddl_mgr_log_34 |
  40. | 35 | TDDL5_02_GROUP | tddl_mgr_log_35 |
  41. | 36 | TDDL5_02_GROUP | tddl_mgr_log_36 |
  42. | 37 | TDDL5_02_GROUP | tddl_mgr_log_37 |
  43. | 38 | TDDL5_02_GROUP | tddl_mgr_log_38 |
  44. | 39 | TDDL5_02_GROUP | tddl_mgr_log_39 |
  45. | 40 | TDDL5_02_GROUP | tddl_mgr_log_40 |
  46. | 41 | TDDL5_02_GROUP | tddl_mgr_log_41 |
  47. | 42 | TDDL5_02_GROUP | tddl_mgr_log_42 |
  48. | 43 | TDDL5_02_GROUP | tddl_mgr_log_43 |
  49. | 44 | TDDL5_02_GROUP | tddl_mgr_log_44 |
  50. | 45 | TDDL5_02_GROUP | tddl_mgr_log_45 |
  51. | 46 | TDDL5_02_GROUP | tddl_mgr_log_46 |
  52. | 47 | TDDL5_02_GROUP | tddl_mgr_log_47 |
  53. | 48 | TDDL5_03_GROUP | tddl_mgr_log_48 |
  54. | 49 | TDDL5_03_GROUP | tddl_mgr_log_49 |
  55. | 50 | TDDL5_03_GROUP | tddl_mgr_log_50 |
  56. | 51 | TDDL5_03_GROUP | tddl_mgr_log_51 |
  57. | 52 | TDDL5_03_GROUP | tddl_mgr_log_52 |
  58. | 53 | TDDL5_03_GROUP | tddl_mgr_log_53 |
  59. | 54 | TDDL5_03_GROUP | tddl_mgr_log_54 |
  60. | 55 | TDDL5_03_GROUP | tddl_mgr_log_55 |
  61. | 56 | TDDL5_03_GROUP | tddl_mgr_log_56 |
  62. | 57 | TDDL5_03_GROUP | tddl_mgr_log_57 |
  63. | 58 | TDDL5_03_GROUP | tddl_mgr_log_58 |
  64. | 59 | TDDL5_03_GROUP | tddl_mgr_log_59 |
  65. | 60 | TDDL5_03_GROUP | tddl_mgr_log_60 |
  66. | 61 | TDDL5_03_GROUP | tddl_mgr_log_61 |
  67. | 62 | TDDL5_03_GROUP | tddl_mgr_log_62 |
  68. | 63 | TDDL5_03_GROUP | tddl_mgr_log_63 |
  69. +------+----------------+-----------------+
  70. 64 rows in set (0.06 sec)

使用场景:

  1. 查看分库与分表对应关系。

使用说明:

  1. 针对所有的逻辑表,即包含分表的逻辑表,也包含不分表的逻辑表。

5) SHOW PARTITIONS FROM [tablename]

使用方式:

  1. mysql> show partitions from tddl_mgr_log;
  2. +------+
  3. | KEYS |
  4. +------+
  5. | host |
  6. +------+
  7. 1 row in set (0.00 sec)

使用场景:

  1. 查看分库分表键。

使用说明:

  1. 针对所有逻辑表。

6) SHOW BROADCASTS

使用方式:

  1. mysql> show broadcasts;

使用场景:

  1. 查看广播表信息。

使用说明:

7) SHOW DATASOURCES

使用方式:

  1. mysql> show datasources;
  2. +------+-----------+-------------------------------------+----------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------+-------+------+------+------+--------------+----------+--------------+---------------+-----------------------------------+-------------+--------------+
  3. | ID | SCHEMA | NAME | GROUP | URL | USER | TYPE | INIT | MIN | MAX | IDLE_TIMEOUT | MAX_WAIT | ACTIVE_COUNT | POOLING_COUNT | ATOM | READ_WEIGHT | WRITE_WEIGHT |
  4. +------+-----------+-------------------------------------+----------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------+-------+------+------+------+--------------+----------+--------------+---------------+-----------------------------------+-------------+--------------+
  5. | 0 | TDDL5_APP | db218249098_sqa_zmf_tddl5_00_3309_1 | TDDL5_00_GROUP | jdbc:mysql://10.218.249.98:3309/tddl5_00?autoReconnect=true&connectTimeout=1000&rewriteBatchedStatements=true&allowMultiQueries=true&socketTimeout=12000&useServerPrepStmts=false&netTimeoutForStreamingResults=0&failOverReadOnly=false&readOnlyPropagatesToServer=false&characterEncoding=utf8 | tddl5 | mysql | 0 | 3 | 30 | 1 | 1000 | 0 | 1 | db218249098_sqa_zmf_tddl5_00_3309 | 10 | 10 |
  6. | 1 | TDDL5_APP | db218249098_sqa_zmf_tddl5_01_3309_2 | TDDL5_01_GROUP | jdbc:mysql://10.218.249.98:3309/tddl5_01?autoReconnect=true&connectTimeout=1000&rewriteBatchedStatements=true&allowMultiQueries=true&socketTimeout=12000&useServerPrepStmts=false&netTimeoutForStreamingResults=0&failOverReadOnly=false&readOnlyPropagatesToServer=false&characterEncoding=utf8 | tddl5 | mysql | 0 | 1 | 30 | 1 | 1000 | 0 | 0 | db218249098_sqa_zmf_tddl5_01_3309 | 10 | 10 |
  7. | 2 | TDDL5_APP | db218249098_sqa_zmf_tddl5_02_3309_3 | TDDL5_02_GROUP | jdbc:mysql://10.218.249.98:3309/tddl5_02?autoReconnect=true&connectTimeout=1000&rewriteBatchedStatements=true&allowMultiQueries=true&socketTimeout=12000&useServerPrepStmts=false&netTimeoutForStreamingResults=0&failOverReadOnly=false&readOnlyPropagatesToServer=false&characterEncoding=utf8 | tddl5 | mysql | 0 | 1 | 30 | 1 | 1000 | 0 | 0 | db218249098_sqa_zmf_tddl5_02_3309 | 10 | 10 |
  8. | 3 | TDDL5_APP | db218249098_sqa_zmf_tddl5_03_3309_4 | TDDL5_03_GROUP | jdbc:mysql://10.218.249.98:3309/tddl5_03?autoReconnect=true&connectTimeout=1000&rewriteBatchedStatements=true&allowMultiQueries=true&socketTimeout=12000&useServerPrepStmts=false&netTimeoutForStreamingResults=0&failOverReadOnly=false&readOnlyPropagatesToServer=false&characterEncoding=utf8 | tddl5 | mysql | 0 | 1 | 30 | 1 | 1000 | 0 | 0 | db218249098_sqa_zmf_tddl5_03_3309 | 10 | 10 |
  9. +------+-----------+-------------------------------------+----------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------+-------+------+------+------+--------------+----------+--------------+---------------+-----------------------------------+-------------+--------------+
  10. 4 rows in set (0.00 sec)

使用场景:

  1. 查看底层存储信息。

使用说明:

  1. 查看底层存储信息,包含schema,数据库分组名,JDBC 信息,用户名,底层存储类型,读写权重等。

8) SHOW NODE

使用方式:

  1. mysql> show node;
  2. +------+----------------+-------------------+------------------+---------------------+--------------------+
  3. | ID | NAME | MASTER_READ_COUNT | SLAVE_READ_COUNT | MASTER_READ_PERCENT | SLAVE_READ_PERCENT |
  4. +------+----------------+-------------------+------------------+---------------------+--------------------+
  5. | 0 | TDDL5_00_GROUP | 7 | 0 | 100% | 0% |
  6. | 1 | TDDL5_01_GROUP | 0 | 0 | 0% | 0% |
  7. | 2 | TDDL5_02_GROUP | 0 | 0 | 0% | 0% |
  8. | 3 | TDDL5_03_GROUP | 0 | 0 | 0% | 0% |
  9. +------+----------------+-------------------+------------------+---------------------+--------------------+
  10. 4 rows in set (0.05 sec)

使用场景:

  1. 查看物理库的读写信息。

使用说明:

3 SQL 调优语句

1) SHOW SLOW (WHERE)

使用方式:

  1. mysql> show slow;
  2. mysql> show slow where execute_time >1000 limit 1;
  3. +-----------+---------------------+--------------+------------+-----------+
  4. | HOST | START_TIME | EXECUTE_TIME | AFFECT_ROW | SQL |
  5. +-----------+---------------------+--------------+------------+-----------+
  6. | 127.0.0.1 | 2016-03-16 13:02:57 | 2785 | 7 | show rule |
  7. +-----------+---------------------+--------------+------------+-----------+
  8. 1 row in set (0.02 sec)

使用场景:

  1. 查看最近的100条DRDS 慢SQL。

使用说明:

  1. 包含DRDS 执行IP,具体慢SQL,和执行时间,单位为毫秒,执行时间超过 1秒的SQL语句会被记录为慢SQL。
  2. 此外支持添加WHERE 条件和LIMIT 限制。

2) SHOW PHYSICAL_SLOW (WHERE)

使用方式:

  1. mysql> show physical_slow;
  2. +----------------+-----------------------------------+---------------------+--------------+------------------+-------------------------+------------------------+------------+-----------------+
  3. | GROUP_NAME | DBKEY_NAME | START_TIME | EXECUTE_TIME | SQL_EXECUTE_TIME | GETLOCK_CONNECTION_TIME | CREATE_CONNECTION_TIME | AFFECT_ROW | SQL |
  4. +----------------+-----------------------------------+---------------------+--------------+------------------+-------------------------+------------------------+------------+-----------------+
  5. | TDDL5_00_GROUP | db218249098_sqa_zmf_tddl5_00_3309 | 2016-03-16 13:05:38 | 1057 | 1011 | 0 | 0 | 1 | select sleep(1) |
  6. +----------------+-----------------------------------+---------------------+--------------+------------------+-------------------------+------------------------+------------+-----------------+
  7. 1 row in set (0.01 sec)

使用场景:

  1. 查看对应底层存储的最近100条慢SQL。

使用说明:

  1. SHOW SLOW 与 SHOW PHYSICAL_SLOW 的区别是针对的层次不一样,一个是DRDS 层级,一个是物理存储层级。 包含物理库分组名,DBKEY等内部信息)。
  2. 执行时间单位为毫秒,执行时间超过 1秒的SQL语句会被记录为慢SQL。
  3. 注意其中的下划线。
  4. 此外支持添加WHERE 条件和LIMIT 限制。

3) CLEAR SLOW

使用方式:

  1. mysql> clear slow;
  2. Query OK, 0 rows affected (0.00 sec)

使用场景:

  1. 清理慢SQL 信息。

使用说明:

  1. 针对所有慢SQL信息,DRDS 和底层存储的都会清除。

4) TRACE [ SQL] 和SHOW TRACE

使用方式:

  1. mysql> trace select 1;
  2. +---+
  3. | 1 |
  4. +---+
  5. | 1 |
  6. +---+
  7. 1 row in set (0.03 sec)
  8. mysql> show trace;
  9. +------+----------+----------------+-----------------------------------+---------------+--------------------------+------+-----------+--------+
  10. | ID | TYPE | GROUP_NAME | DBKEY_NAME | TIME_COST(MS) | CONNECTION_TIME_COST(MS) | ROWS | STATEMENT | PARAMS |
  11. +------+----------+----------------+-----------------------------------+---------------+--------------------------+------+-----------+--------+
  12. | 0 | Optimize | DRDS | DRDS | 3 | 0.00 | 0 | select 1 | NULL |
  13. | 1 | Query | TDDL5_00_GROUP | db218249098_sqa_zmf_tddl5_00_3309 | 7 | 0.15 | 1 | select 1 | NULL |
  14. +------+----------+----------------+-----------------------------------+---------------+--------------------------+------+-----------+--------+
  15. 2 rows in set (0.01 sec)

使用场景:

  1. 查看具体SQL 的执行情况。

使用说明:

  1. TRACE [SQL] 和SHOW TRACE 要结合使用,对分表与不分表都可以使用。包含数据库分组,物理SQL 等信息。

5) EXPLAIN [SQL]

使用方式:

  1. mysql> explain select * from ab;
  2. +----------------+------------------+--------+
  3. | GROUP_NAME | SQL | PARAMS |
  4. +----------------+------------------+--------+
  5. | TDDL5_00_GROUP | select * from ab | {} |
  6. +----------------+------------------+--------+
  7. 1 row in set (0.04 sec)

使用场景:

  1. 查看语句对应的分库,物理语句,和整体参数。

使用说明:

  1. 不同于底层存储的EXPLAIN 语句,要实现底层存储EXPLAIN 功能,要使用EXPLAIN EXECUTE [SQL] 语句。

6) EXPLAIN DETAIL [SQL]

使用方式:

  1. mysql> explain detail select * from ab;
  2. +----------------+-----------------------------------------------------------------------------------------------+--------+
  3. | GROUP_NAME | SQL | PARAMS |
  4. +----------------+-----------------------------------------------------------------------------------------------+--------+
  5. | TDDL5_00_GROUP | Query
  6. queryConcurrency:SEQUENTIAL
  7. sql: select * from ab
  8. executeOn:TDDL5_00_GROUP
  9. | NULL |
  10. +----------------+-----------------------------------------------------------------------------------------------+--------+
  11. 1 row in set (0.03 sec)

使用场景:

  1. 查询语句的DRDS 执行信息。

使用说明:

  1. 针对所有SQL,返回信息包含执行语句类型,并发程度,返回列信息,物理表,库分组等。

7) EXPLAIN EXECUTE [SQL]

使用方式:

  1. mysql> explain execute select * from tddl_mgr_log limit 1;
  2. +----+-------------+--------------+------+---------------+------+---------+------+------+-------+
  3. | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
  4. +----+-------------+--------------+------+---------------+------+---------+------+------+-------+
  5. | 1 | SIMPLE | tddl_mgr_log | ALL | NULL | NULL | NULL | NULL | 1 | NULL |
  6. +----+-------------+--------------+------+---------------+------+---------+------+------+-------+
  7. 1 row in set (0.07 sec)

使用场景:

  1. 查看底层存储的执行计划。

使用说明:

  1. 等同于MYSQL 的EXPLAIN 语句。

8) CHECK TABLE [name]

使用方式:

  1. mysql> check table tddl_mgr_log;
  2. +------------------------+-------+----------+----------+
  3. | TABLE | OP | MSG_TYPE | MSG_TEXT |
  4. +------------------------+-------+----------+----------+
  5. | TDDL5_APP.tddl_mgr_log | check | status | OK |
  6. +------------------------+-------+----------+----------+
  7. 1 row in set (0.56 sec)
  8. mysql> check table tddl_mg;
  9. +-------------------+-------+----------+----------------------------------------+
  10. | TABLE | OP | MSG_TYPE | MSG_TEXT |
  11. +-------------------+-------+----------+----------------------------------------+
  12. | TDDL5_APP.tddl_mg | check | Error | Table 'tddl5_00.tddl_mg' doesn't exist |
  13. +-------------------+-------+----------+----------------------------------------+
  14. 1 row in set (0.02 sec)

使用场景:

  1. 对数据表进行检查。

使用说明:

  1. 对于分表,检查底层表的一致性和完整性。
  2. 对于所有表,检查表的存在性。

9) SHOW TABLE STATUS (LIKE ‘pattern’ | WHERE expr)

使用方式:

  1. mysql> /*TDDL:scan='tddl5_users'*/show table status like 'tddl5_users';
  2. +----------------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+-----------------+----------+----------------+---------+
  3. | Name | Engine | Version | Row_format | Rows | Avg_row_length | Data_length | Max_data_length | Index_length | Data_free | Auto_increment | Create_time | Update_time | Check_time | Collation | Checksum | Create_options | Comment |
  4. +----------------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+-----------------+----------+----------------+---------+
  5. | tddl5_users_07 | InnoDB | 10 | Compact | 0 | 0 | 16384 | 0 | 0 | 0 | 100000000193 | 2015-11-06 15:20:27 | NULL | NULL | utf8_general_ci | NULL | | xxx |
  6. | tddl5_users_05 | InnoDB | 10 | Compact | 0 | 0 | 16384 | 0 | 0 | 0 | 100000000193 | 2015-11-06 15:20:27 | NULL | NULL | utf8_general_ci | NULL | | xxx |
  7. | tddl5_users_06 | InnoDB | 10 | Compact | 0 | 0 | 16384 | 0 | 0 | 0 | 100000000193 | 2015-11-06 15:20:27 | NULL | NULL | utf8_general_ci | NULL | | xxx |
  8. | tddl5_users_04 | InnoDB | 10 | Compact | 0 | 0 | 16384 | 0 | 0 | 0 | 100000000193 | 2015-11-06 15:20:27 | NULL | NULL | utf8_general_ci | NULL | | xxx |
  9. | tddl5_users_01 | InnoDB | 10 | Compact | 0 | 0 | 16384 | 0 | 0 | 0 | 100000000193 | 2015-11-06 07:20:27 | NULL | NULL | utf8_general_ci | NULL | | xxx |
  10. | tddl5_users_02 | InnoDB | 10 | Compact | 0 | 0 | 16384 | 0 | 0 | 0 | 100000000193 | 2015-11-06 07:20:27 | NULL | NULL | utf8_general_ci | NULL | | xxx |
  11. | tddl5_users_00 | InnoDB | 10 | Compact | 0 | 0 | 16384 | 0 | 0 | 0 | 100000000193 | 2015-11-06 07:20:27 | NULL | NULL | utf8_general_ci | NULL | | xxx |
  12. | tddl5_users_03 | InnoDB | 10 | Compact | 0 | 0 | 16384 | 0 | 0 | 0 | 100000000193 | 2015-11-06 07:20:27 | NULL | NULL | utf8_general_ci | NULL | | xxx |
  13. | tddl5_users_12 | InnoDB | 10 | Compact | 0 | 0 | 16384 | 0 | 0 | 0 | 100000000193 | 2015-11-06 15:20:27 | NULL | NULL | utf8_general_ci | NULL | | xxx |
  14. | tddl5_users_13 | InnoDB | 10 | Compact | 0 | 0 | 16384 | 0 | 0 | 0 | 100000000193 | 2015-11-06 15:20:27 | NULL | NULL | utf8_general_ci | NULL | | xxx |
  15. | tddl5_users_14 | InnoDB | 10 | Compact | 0 | 0 | 16384 | 0 | 0 | 0 | 100000000193 | 2015-11-06 15:20:27 | NULL | NULL | utf8_general_ci | NULL | | xxx |
  16. | tddl5_users_15 | InnoDB | 10 | Compact | 0 | 0 | 16384 | 0 | 0 | 0 | 100000000193 | 2015-11-06 15:20:28 | NULL | NULL | utf8_general_ci | NULL | | xxx |
  17. | tddl5_users_08 | InnoDB | 10 | Compact | 0 | 0 | 16384 | 0 | 0 | 0 | 100000000193 | 2015-11-06 15:20:27 | NULL | NULL | utf8_general_ci | NULL | | xxx |
  18. | tddl5_users_09 | InnoDB | 10 | Compact | 0 | 0 | 16384 | 0 | 0 | 0 | 100000000193 | 2015-11-06 15:20:27 | NULL | NULL | utf8_general_ci | NULL | | xxx |
  19. | tddl5_users_10 | InnoDB | 10 | Compact | 0 | 0 | 16384 | 0 | 0 | 0 | 100000000193 | 2015-11-06 15:20:27 | NULL | NULL | utf8_general_ci | NULL | | xxx |
  20. | tddl5_users_11 | InnoDB | 10 | Compact | 0 | 0 | 16384 | 0 | 0 | 0 | 100000000193 | 2015-11-06 15:20:27 | NULL | NULL | utf8_general_ci | NULL | | xxx |
  21. +----------------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+-----------------+----------+----------------+---------+
  22. 16 rows in set (0.08 sec)

使用场景:

  1. 对数据表进行检查。

使用说明:

  1. 该数据聚合了各个分片的数据。
  2. 和DRDS的scan hint结合,还可以查看每个分片的数据量(注意,如果用mysql命令行,启动时需要加上-c参数,
  3. 否则hint会被mysql命令行过滤掉),使用方式如上。

4 统计信息查询

1) SHOW STATS

使用方式:

  1. mysql> show stats;
  2. +------+---------+----------+-------------------+------------------+------------------------+--------------------+--------+------------+--------------+---------------+----------------+
  3. | QPS | RDS_QPS | SLOW_QPS | PHYSICAL_SLOW_QPS | ERROR_PER_SECOND | MERGE_QUERY_PER_SECOND | ACTIVE_CONNECTIONS | RT(MS) | RDS_RT(MS) | NET_IN(KB/S) | NET_OUT(KB/S) | THREAD_RUNNING |
  4. +------+---------+----------+-------------------+------------------+------------------------+--------------------+--------+------------+--------------+---------------+----------------+
  5. | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 1 | 0.00 | 0.00 | 0.00 | 0.00 | 1 |
  6. +------+---------+----------+-------------------+------------------+------------------------+--------------------+--------+------------+--------------+---------------+----------------+
  7. 1 row in set (0.00 sec)

使用场景:

  1. 查看整体的统计信息。

使用说明:

  1. 主要包含QPS 、RT、慢SQL统计 等信息,具体说明如下:
  2. QPS: 0.00 逻辑QPS
  3. RDS_QPS: 0.00 物理QPS
  4. ERROR_PER_SECOND: 0.00 每秒的错误数,包含语法错误,主键冲突等等所有异常
  5. VIOLATION_PER_SECOND: 0.00 每秒的主键或者唯一键冲突
  6. MERGE_QUERY_PER_SECCOND: 0.00 通过分库分表,从多表中进行的查询
  7. ACTIVE_CONNECTIONS: 1 当前连接上的连接
  8. CONNECTION_CREATE_PER_SECCOND: 0.00 每秒创建的连接数
  9. RT(MS): 0.00 逻辑RT(响应时间)
  10. RDS_RT(MS): 0.00 物理RT
  11. NET_IN(KB/S): 0.00 DRDS收到的网络流量
  12. NET_OUT(KB/S): 0.00 DRDS发送的网络流量
  13. THREAD_RUNNING: 1 正在运行的线程数
  14. HINT_USED_PER_SECOND: 0.00 每秒带HINT的查询的数量
  15. HINT_USED_COUNT: 302 启动到现在带HINT的查询 总量
  16. AGGREGATE_QUERY_PER_SECCOND: 0.00 每秒走AGGREGATECURSOR的次数
  17. AGGREGATE_QUERY_COUNT: 17 启动到现在走AGGREGATECURSOR的次数
  18. TEMP_TABLE_CREATE_PER_SECCOND: 0.00 每秒创建的临时表的数量
  19. TEMP_TABLE_CREATE_COUNT: 6 启动到现在创建的临时表总数量
  20. MULTI_DB_JOIN_PER_SECCOND: 0.00 每秒跨库JOIN的数量
  21. MULTI_DB_JOIN_COUNT: 3 启动到现在跨库JOIN的总量

5 DRDS SEQUENCE 相关

1) SHOW SEQUENCES

使用方式:

  1. mysql> show sequences;
  2. +----+----------------------------+----------+
  3. | id | name | value |
  4. +----+----------------------------+----------+
  5. | 1 | AUTO_SEQ_tddl5_users | 4800810 |
  6. | 2 | AUTO_SEQ_tddl_users_search | 3600000 |
  7. | 3 | aaa | 100000 |
  8. | 4 | AUTO_SEQ_tddl5_users1 | 400100 |
  9. | 5 | AUTO_SEQ_tddl_category | 200000 |
  10. | 6 | aaaaa | 41677000 |
  11. | 7 | xxxx | 0 |
  12. | 12 | aa | 1119000 |
  13. | 13 | test_sequence | 8130000 |
  14. | 14 | test_sequence_wap | 0 |
  15. | 15 | test_sequence_zongfei | 2000 |
  16. | 16 | test_sequence_zongfei_new | 0 |
  17. | 17 | test_sequence_zongfei_new1 | 0 |
  18. | 18 | seq_flow_charge_order_new | 0 |
  19. | 19 | AUTO_SEQ_tddl7_users | 300 |
  20. | 20 | AUTO_SEQ_tddl8_users | 200000 |
  21. | 21 | AUTO_SEQ_tddl111_users | 400000 |
  22. | 22 | AUTO_SEQ_tddl12_users | 500000 |
  23. | 23 | ae_ajaxone_rule | 0 |
  24. | 24 | AUTO_SEQ_sequence | 0 |
  25. | 25 | AUTO_SEQ_drds_users1 | 100000 |
  26. | 26 | AUTO_SEQ_drds_users | 5300000 |
  27. | 27 | dome_sequence | 0 |
  28. | 28 | NULL | 0 |
  29. | 29 | NULL | 0 |
  30. | 30 | NULL | 0 |
  31. | 31 | AUTO_SEQ_tddl_mgr_log | 800000 |
  32. | 32 | AUTO_SEQ_barbecue_acc | 0 |
  33. | 33 | AUTO_SEQ_ljh_test | 100000 |
  34. | 34 | AUTO_SEQ_tddl88_users | 500000 |
  35. | 35 | AUTO_SEQ_usermfrdtbl | 0 |
  36. | 40 | teat1 | 100000 |
  37. +----+----------------------------+----------+
  38. 32 rows in set (0.07 sec)

使用场景:

  1. 查看所有的DRDS SEQUENCE信息。

使用说明:

  1. DRDS 提供了全局唯一的序列功能,通过SHOW SEQUENCE可以查看当前所有SEQUENCE信息,包含SEQUENCE 名称和当前值。

2) CREATE SEQUENCE [name] (START WITH [count] | [count])

使用方式:

  1. mysql> create sequence test;
  2. Query OK, 1 row affected (0.42 sec)

使用场景:

  1. 建立一个SEQUENCE。

使用说明:

  1. 如果不提供初始值,默认当前值为0。对于sequence的理解,可以类比ORACLE 数据库的sequence 概念。
  2. START WITH 可以指定SEQUENCE 当前值,可选。

3) ALTER SEQUENCE [name] START WITH [count] | [count]

使用方式:

  1. mysql> alter sequence test start with 100;
  2. Query OK, 2 rows affected (0.01 sec)

使用场景:

  1. 修改SEQUENCE 的当前值。

使用说明:

4) DROP SEQUENCE [name]

使用方式:

  1. mysql> drop sequence test;
  2. Query OK, 1 row affected (0.01 sec)

使用场景:

  1. 删除对应名称的SEQUENCE。

使用说明:

最后更新:2016-11-23 18:56:58

  上一篇:go DRDS自定义注释__开发手册_分布式关系型数据库 DRDS-阿里云
  下一篇:go DRDS分库分表__开发手册_分布式关系型数据库 DRDS-阿里云