mysql表類型查詢示例詳解
更新時間:2025年04月17日 11:06:47 作者:韶博雅
這篇文章主要介紹了mysql表類型查詢示例詳解,本文通過實例代碼給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧
普通表
SELECT
table_schema AS database_name,
table_name
FROM
information_schema.tables
WHERE
table_schema NOT IN ('information_schema', 'mysql', 'performance_schema', 'sys')
AND table_type = 'BASE TABLE'
AND table_name NOT IN (
SELECT DISTINCT table_name
FROM information_schema.partitions
WHERE partition_name IS NOT NULL
)
ORDER BY
table_schema, table_name;分區(qū)表
SELECT
p.table_schema AS database_name,
p.table_name,
GROUP_CONCAT(p.partition_name ORDER BY p.partition_ordinal_position) AS partitions,
p.partition_method,
p.partition_expression
FROM
information_schema.partitions p
WHERE
p.table_schema NOT IN ('information_schema', 'mysql', 'performance_schema', 'sys')
AND p.partition_name IS NOT NULL
GROUP BY
p.table_schema, p.table_name, p.partition_method, p.partition_expression
ORDER BY
p.table_schema, p.table_name;區(qū)分表
SELECT
t.table_schema AS database_name,
t.table_name,
CASE
WHEN p.table_name IS NULL THEN '普通表'
ELSE '分區(qū)表'
END AS table_type,
p.partition_method,
p.partition_expression
FROM
information_schema.tables t
LEFT JOIN (
SELECT DISTINCT
table_schema,
table_name,
partition_method,
partition_expression
FROM
information_schema.partitions
WHERE
partition_name IS NOT NULL
) p ON t.table_schema = p.table_schema AND t.table_name = p.table_name
WHERE
t.table_schema NOT IN ('information_schema', 'mysql', 'performance_schema', 'sys')
AND t.table_type = 'BASE TABLE'
ORDER BY
t.table_schema, t.table_name;查出數(shù)據(jù)量
SELECT
t.table_schema AS '數(shù)據(jù)庫名',
t.table_name AS '表名',
CASE
WHEN p.table_name IS NULL THEN '普通表'
ELSE CONCAT('分區(qū)表(', p.partition_method, ')')
END AS '表類型',
t.table_rows AS '數(shù)據(jù)行數(shù)(估算)',
CONCAT(ROUND(t.data_length / (1024 * 1024), 2), ' MB') AS '數(shù)據(jù)大小',
CONCAT(ROUND(t.index_length / (1024 * 1024), 2), ' MB') AS '索引大小',
CONCAT(ROUND((t.data_length + t.index_length) / (1024 * 1024), 2), ' MB') AS '總大小',
p.partition_expression AS '分區(qū)鍵'
FROM
information_schema.tables t
LEFT JOIN (
SELECT DISTINCT
table_schema,
table_name,
partition_method,
partition_expression
FROM
information_schema.partitions
WHERE
partition_name IS NOT NULL
) p ON t.table_schema = p.table_schema AND t.table_name = p.table_name
WHERE
t.table_schema NOT IN ('information_schema', 'mysql', 'performance_schema', 'sys')
AND t.table_type = 'BASE TABLE'
ORDER BY
t.table_schema,
CASE WHEN p.table_name IS NULL THEN 0 ELSE 1 END, -- 普通表在前
t.table_name;
SELECT
t.table_schema AS '數(shù)據(jù)庫',
t.table_name AS '表名',
CASE
WHEN p.partition_method IS NULL THEN '普通表'
ELSE CONCAT('分區(qū)表(', p.partition_method, ')')
END AS '表類型',
t.table_rows AS '估算行數(shù)',
CONCAT(ROUND(t.data_length/1024/1024, 2), ' MB') AS '數(shù)據(jù)大小',
p.partition_expression AS '分區(qū)鍵'
FROM
information_schema.tables t
LEFT JOIN (
SELECT
table_schema,
table_name,
partition_method,
partition_expression
FROM
information_schema.partitions
WHERE
partition_name IS NOT NULL
GROUP BY
table_schema, table_name, partition_method, partition_expression
) p ON t.table_schema = p.table_schema AND t.table_name = p.table_name
WHERE
t.table_schema NOT IN ('information_schema', 'mysql', 'performance_schema', 'sys')
AND t.table_type = 'BASE TABLE'
ORDER BY
t.table_schema, t.table_name;查出表行數(shù)
SELECT
t.table_schema AS '數(shù)據(jù)庫',
t.table_name AS '表名',
CASE
WHEN p.partition_method IS NULL THEN '普通表'
ELSE CONCAT('分區(qū)表(', p.partition_method, ')')
END AS '表類型',
t.table_rows AS '估算行數(shù)',
p.partition_expression AS '分區(qū)鍵'
FROM
information_schema.tables t
LEFT JOIN (
SELECT DISTINCT
table_schema,
table_name,
partition_method,
partition_expression
FROM
information_schema.partitions
WHERE
partition_name IS NOT NULL
) p ON t.table_schema = p.table_schema AND t.table_name = p.table_name
WHERE
t.table_schema NOT IN ('information_schema', 'mysql', 'performance_schema', 'sys')
AND t.table_type = 'BASE TABLE'
ORDER BY
t.table_schema, t.table_name;到此這篇關(guān)于mysql表類型查詢的文章就介紹到這了,更多相關(guān)mysql表類型查詢內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:
相關(guān)文章
ERROR 1524 (HY000): Plugin ‘mysql_native
這篇文章主要介紹了ERROR 1524 (HY000): Plugin ‘mysql_native_password‘ is not loaded,本文提供了三種解決方法,具有一定的參考價值,感興趣的可以了解一下2025-03-03
MySQL數(shù)據(jù)庫表的合并及分區(qū)方式
這篇文章主要介紹了MySQL數(shù)據(jù)庫表的合并及分區(qū)方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-08-08
MySQL的執(zhí)行原理之 MySQL的查詢重寫規(guī)則詳解
MySQL 性能調(diào)優(yōu)是一個復(fù)雜且多維度的過程,下面從數(shù)據(jù)庫設(shè)計、查詢優(yōu)化、配置參數(shù)調(diào)整、硬件優(yōu)化幾個方面為你介紹相關(guān)的調(diào)優(yōu)方法,本文給大家介紹MySQL的執(zhí)行原理之 MySQL的查詢重寫規(guī)則,感興趣的朋友一起看看吧2025-04-04
mysql關(guān)聯(lián)子查詢的一種優(yōu)化方法分析
這篇文章主要介紹了mysql關(guān)聯(lián)子查詢的一種優(yōu)化方法,結(jié)合實例形式分析了針對MySQL的關(guān)聯(lián)子查詢進行優(yōu)化的技巧,需要的朋友可以參考下2016-04-04
詳解用SELECT命令在MySQL執(zhí)行查詢操作的教程
這篇文章主要介紹了詳解用SELECT命令在MySQL執(zhí)行查詢操作的教程,本文中還給出了基于PHP腳本的操作演示,需要的朋友可以參考下2015-05-05
通過mysql show processlist 命令檢查mysql鎖的方法
show processlist 命令非常實用,有時候mysql經(jīng)常跑到50%以上或更多,就需要用這個命令看哪個sql語句占用資源比較多,就知道哪個網(wǎng)站的程序問題了。2010-03-03

