1、查看当前MySQL数据库是否支持分区,可以利用命令:show variables like '%partition%'。
2、判断当前数据库版本是否安装了分区插件,利用命令show plugins。
3、创建数据库表并建立表分区,利用命令,结果发现报错。
4、修改创建数据库表主键设置,将其去掉,再次运行命令。
5、查看某张表是不是分区表,可以利用命令show table status。
6、就可以查看具体数据库下的某张表的分区情况了。
如果表 PartitionTable已分区,以下查询将返回一个或多个行。
如果表未分区,则不返回任何行。
SELECT * FROM sys.partitions AS p
JOIN sys.tables AS t
ON p.object_id = t.object_id
WHERE p.partition_id IS NOT NULL
AND t.name = 'PartitionTable'
以下查询返回表的分区列的名称。
PartitionTable.
SELECT t.object_id AS Object_ID, t.name AS TableName, ic.column_id as PartitioningColumnID, c.name AS PartitioningColumnName
FROM sys.tables AS t
JOIN sys.indexes AS i
ON t.object_id = i.object_id
JOIN sys.columns AS c
ON t.object_id = c.object_id
JOIN sys.partition_schemes AS ps
ON ps.data_space_id = i.data_space_id
JOIN sys.index_columns AS ic
ON ic.object_id = i.object_id AND ic.index_id = i.index_id AND ic.partition_ordinal >0
WHERE t.name = 'PartitionTable'
AND i.type <= 1
AND c.column_id = 1
select * from 表 partition (分区表名) -->不管是1级分区还是2级分区都是用partitionselect partition_name , subpartition_name from information_schema.partitions where table_schema='你的数据库名' and table_name='你的表名'(这个语句可以查到你的表的分区名是什么,1级分区和2级分区都可以看)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)