3.5.2 SHOW语句

3.5.2.1 dble劫持的SHOW

  • SHOW DATABASES
    将sharding.xml 中的所有schema展示出来 。
  • SHOW CREATE DATABASE [IF NOT EXISTS] schema
    将sharding.xml 中的指定schema的创建语句展示,创建语句为dble伪造,无实际意义 。
  • SHOW [FULL|ALL] TABLES [FROM db_name] [LIKE 'pattern'| WHERE expr]
    当schmea没有配置默认节点时,将schema下配置的tables直接展示出来。
    当schema有默认节点时,将语句转发至默认节点,然后将结果集与schema下配置的tables做一个去重合并,再返回给客户端。
  • SHOW ALL TABLES [FROM db_name] [LIKE 'pattern'| WHERE expr]
    dble自有命令,与SHOW FULL TABLES 返回结果集类似,不同之处是Table_type这列分为了 SHARDING TABLE,sharding table, GLOBAL TABLE 。参见6.Differernce_from_MySQL_Server.md
  • SHOW [FULL] {COLUMNS | FIELDS} FROM tbl_name [{FROM|IN} db_name] [LIKE 'pattern' | WHERE expr]
    将逻辑schema转为物理schema之后下发到表所在的任意节点。
  • SHOW { INDEX | INDEXES | KEYS} {FROM | IN} tbl_name [ {FROM | IN} db_name ] [ WHERE expr]
    将逻辑schema转为物理schema之后下发到表所在的任意节点。
  • SHOW CREATE TABLE tbl_name
    将逻辑schema转为物理schema之后下发到表所在的任意节点。
  • SHOW [GLOBAL | SESSION] VARIABLES [LIKE 'pattern' | WHERE expr]
    随机转发到任意节点,收到结果集后,用本地变量进行覆盖(global 不正确?)
  • SHOW CREATE VIEW view_name
    将dble层面的view展示出来
  • SHOW CHARSET
    将之转为show character set 之后透传转发
  • SHOW TABLE STATUS [{FROM | IN} db_name] [LIKE 'pattern' | WHERE expr]
    只是为了支持SQLyog,其中name列逻辑和show tables一致,其他列均为伪造。
  • SHOW TRACE
    观察trace结果,详情请见 单条SQL性能trace

注意事项:

所有以上命令的explain结果可能不准确。

例:

show databases;
show full tables;
show columns from a_test;
show index from a_test;
show create table a_test;
show variables;
show charset;

3.5.2.2 dble透传的SHOW

除了dble劫持的特定SHOW语句外,其它SHOW语句都透传,这些语句与MySQL语法相同。

例:

SHOW CHARACTER SET;
SHOW CHARACTER SET like 'utf8';
SHOW CHARACTER SET where maxlen=2;

results matching ""

    No results matching ""