ちょうど次のクエリでGBのMySQLテーブルのサイズを計算して終わった。 TABLE_SCHEMA = 'DB' と TABLE_NAME = 'テーブル名'GBのMySQLの行サイズを取得する方法
を取得することが可能です INFORMATION_SCHEMA.TABLES FROM
SELECT(DATA_LENGTH + INDEX_LENGTH)/電源(1024,3)tablesize_gb GBのMySQL行のサイズ。
またはGBの表の平均行サイズを取得する方法。
ちょうど次のクエリでGBのMySQLテーブルのサイズを計算して終わった。 TABLE_SCHEMA = 'DB' と TABLE_NAME = 'テーブル名'GBのMySQLの行サイズを取得する方法
を取得することが可能です INFORMATION_SCHEMA.TABLES FROM
SELECT(DATA_LENGTH + INDEX_LENGTH)/電源(1024,3)tablesize_gb GBのMySQL行のサイズ。
またはGBの表の平均行サイズを取得する方法。
INFORMATION_SCHEMA.TABLESにAVG_ROW_LENGTH
カラムを使用し、(オーバーヘッドを含む)の平均列長を取得します。
私の知る限り、MySQLの単一の特定の行の正確な実際のサイズを計算する方法はありません。
我々はこのようなものを使用することができ、テーブルのサイズを見つけるために...
SELECT count(*) tables,
concat(round(sum(table_rows)/1000000,2),'M') rows,
concat(round(sum(data_length)/(1024*1024*1024),2),'G') data,
concat(round(sum(index_length)/(1024*1024*1024),2),'G') idx,
concat(round(sum(data_length+index_length)/(1024*1024*1024),2),'G') total_size,
round(sum(index_length)/sum(data_length),2) idxfrac
FROM information_schema.TABLES
WHERE table_name like "%table-name%"
我々は、これはトリックを行う可能性がありますこんにちは、この
SELECT CONCAT(table_schema, '.', table_name),
CONCAT(ROUND(table_rows/1000000, 2), 'M') rows,
CONCAT(ROUND(data_length/(1024 * 1024 * 1024), 2), 'G') DATA,
CONCAT(ROUND(index_length/(1024 * 1024 * 1024), 2), 'G') idx,
CONCAT(ROUND((data_length + index_length)/(1024 * 1024 * 1024), 2), 'G') total_size,
ROUND(index_length/data_length, 2) idxfrac
FROM information_schema.TABLES
ORDER BY data_length + index_length DESC
LIMIT 10
質問は、最大のテーブルではなく、最大の行サイズを見つけることに関するものでした。 – coderintherye
ようなものを使用することができますMYSQLデータベースで最大のテーブルを検索し、同様の問題があり、どのタイプの行が最も多くの領域を占めるかを調べなければなりませんでした。なぜここでそれを行うには合理的な方法のように見えます...
SELECT groupval, (sum(length(somefield) + length(someotherfield))/1024)/1024 as "fields_size_mb"
FROM table
GROUP BY groupval
ORDER BY fields_size_mb desc;
SELECT
table_name AS `Table`,
round(((data_length + index_length)/1024/1024), 2) as `Size in MB`,
round((AVG_ROW_LENGTH/1024), 2) as `Avg row size in KB`
FROM information_schema.TABLES WHERE table_schema = 'your_db_name'
ORDER BY `Size in MB` DESC
でグループを持つからです。 – nneonneo
@nneonneo上記のクエリから、私はテーブルのサイズを取得していますが、私は行のサイズを取得する必要があります。 – Parthi04
行数で割りますか? – nneonneo