2017-11-22 8 views
0

information_schemaを要求するクエリを実行すると、非常に遅く実行されます。例:Google Cloud SQL情報スキーマが非常に遅い

SELECT count(*) 
FROM INFORMATION_SCHEMA.COLUMNS 
=============================== 
1 row(s) returned 
0.344 sec/0.000083 sec 

innodb_stats_on_metadataをfalseに変更することをお勧めします。スキーマの選択時にテーブルを分析するのを避けるために、rootユーザはsuper特権を持っていないので、Googleはそれを防ぎます。

このパフォーマンスの問題を回避する方法はありますか?私がやっていること

+0

ホットまたはコールドデータでクエリを実行していますか? – jarlh

+0

個人的には、count(*)はパフォーマンスの悪い指標であると思います。 – jarlh

+0

'select *を使用してください。 。 。限界10 'となる。大丈夫 –

答えて

0

は列情報テーブルのレプリカ作成である:これは情報検索の際にテーブルを分析防ぐ

create table INFORMATION_SCHEMA_COLUMNS 
SELECT * 
FROM INFORMATION_SCHEMA.COLUMNS 

を、しかし、あなたは、あなたが任意のテーブルに変更を加えるたびに手動で更新されたテーブルの内容を維持する必要がありますターゲットスキーマの