gbase8a獲取大表資料SQL語句

2021-10-06 11:51:42 字數 1437 閱讀 5412

專案背景

從gbase8a遷移資料到mysql5.6.46中,獲取大表記錄數

生成查詢某個schema下所有表的記錄數的sql語句

select concat(『select 『』』,table_schema,』.』,table_name,』』』 as table_name,count() as total_num from 『,table_name,』 union all』) from information_schema.tables where table_schema=『test』;

結果如下

select 『test.cmst_i_h_data』 as table_name,count() as total_num from cmst_i_h_data union all

select 『test.info_config』 as table_name,count() as total_num from info_config union all

select 『test.m_page_view_log』 as table_name,count() as total_num from m_page_view_log union all

select 『test.sync_table』 as table_name,count() as total_num from sync_table union all

select 『test.test』 as table_name,count() as total_num from test union all

select 『test.test1』 as table_name,count() as total_num from test1 union all

select 『test.test_100』 as table_name,count() as total_num from test_100union all

去掉最後一行的union all部分,並將查詢放入下面查詢結構體中

select table_name,total_num from (

上述查詢語句

) as t

where total_num>1000000

說明: total_num>1000000代表查詢某個schema下超過1百萬記錄的表

總結:1、獲取大表記錄數也有其他方式,只要有相應許可權即可

2、count()不加條件,速度一樣非常快,8a採用express儲存引擎,這裡懷疑表記錄總數是單獨儲存的

gbase> select count() from test_100;

±---------+

| count(*) |

±---------+

| 9463294 |

±---------+

1 row in set (elapsed: 00:00:00.00)

GBase8a匯出和載入資料步驟

一 ssh工具連線伺服器 二 切換gbase使用者 執行su gbase命令 三 執行gccli命令,進入sql命令 四 執行sql語句,把需要匯出的表匯出到指定目錄 select from mid.into outfile opt gbase dispatch server txt fieldst...

GBase8a自身的系統表是如何存放和呼叫的

這裡的系統表就是元資料表。gbase8a 的系統表儲存於 gbase 資料庫中,除少數幾個表外為 express 引擎外,其它表都是 gssys 引擎。gbase8a 的系統表中儲存了表的定義 列的定義 儲存過程和自定義函式的定義 使用者及權 限的定義 系統事件的定義 相關日誌資訊等。gbase8a...

gbase8a中根據提供的表名統計表中現有的行數

table1 table2 生成如下格式的資訊 aa.test 100 bb.test 100 9463294 格式說明 aa代表源資料庫,test 100源資料庫中的表,bb代表目標資料庫,test 100目標資料庫中的表,9463294代表行數 select concat select conc...