如何查看所有创建了hash索引的表?

8a数据库中的information_schema.COLUMNS表中记录了某列是否是索引,可以通过如下sql查找所有的索引字段:

select TABLE_SCHEMA,TABLE_NAME,COLUMN_NAME,COLUMN_KEY from information_schema.COLUMNS where COLUMN_KEY='MUL' and TABLE_SCHEMA<>'gbase';

获取具体的表名称后,可以通过如下sql查看该表索引的具体情况:

gbase> show index from test.t1;
 +-------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+-------------+---------+
 | Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type  | Comment |
 +-------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+-------------+---------+
 | t1    |          1 | inx_test |            1 | a           | NULL      |        NULL |     NULL | NULL   | YES  | GLOBAL HASH |         |
 +-------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+-------------+---------+
 1 row in set (Elapsed: 00:00:00.00) 

能否启停gbase集群的单个进程,如单独启动gbased?

gbase集群的gcmonit组件提供了gcluster_services命令,可以进行gbased、gclusterd、gcrecover、syncserver等进程的启停;
启动服务

gcluster_services  <gbase | gcluster | gcrecover | syncserver | all>  start

停止服务

gcluster_services  <gbase | gcluster | gcrecover | syncserver | all>  stop [--force]

重新启动服务

gcluster_services  <gbase | gcluster | gcrecover | syncserver | all>  restart [--force]

获取服务状态

gcluster_services  <gbase | gcluster | gcrecover | syncserver | all>  info

其中,all表示获取所有集群服务的运行状态。

info:注意:

gcluster_services <gbase|gcluster|gcrecover|syncserver> stop 停止进程后,gcmonit会自动将这个进程拉起。