Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
MySQL | PostgreSQL | SQL Server
O recommender de alto número de tabelas do Cloud SQL ajuda a detectar instâncias
com contagem de tabelas muito alta e próxima do limite de SLA. Depois, recomendações vão ser fornecidas
sobre como otimizar essas instâncias e melhorar o desempenho delas.
Nesta página, descrevemos como recomendador de alto número de tabelas funciona e como
você pode ser usado.
Como funciona
Se você tiver 50.000 ou mais tabelas de banco de dados em uma única instância,
ela pode parar de responder ou de executar operações de manutenção.
Além disso, a instância não vai estar coberta pelo SLA.
O recomendador de alto número de tabelas do Cloud SQL analisa métricas do número
de tabelas em uma instância do MySQL do Cloud SQL. Se o número de tabelas for maior ou
igual a 80% do limite de SLA, o que permite 50.000 tabelas, a instância vai ser considerada
como tendo um alto número de tabelas.
Preços
O recomendador de alto número de tabelas abertas do Cloud SQL está no nível de preçoStandard.
Antes de começar
Antes de visualizar as recomendações e insights, faça o seguinte:
Para conseguir as permissões de visualização e trabalho com insights e recomendações,
verifique se você tem os papéis necessários.
Tarefas
Papéis
Ver recomendações
Um destes papéis: recommender.cloudsqlViewer ou
cloudsql.viewer.
Aplicar recomendações
Um destes papéis: recommender.cloudsqlAdmin, cloudsql.editor,
ou cloudsql.admin.
No card Melhorar o desempenho das instâncias do Cloud SQL, clique em Ver tudo.
Selecione as instâncias com a recomendação Gerenciar um grande número de tabelas.
CLI da gcloud
Para listar as recomendações para melhorar o desempenho da instância usando a gcloud CLI, execute o
comando gcloud recommender recommendations list
da seguinte maneira:
GET https://recommender.googleapis.com/v1beta1/projects/PROJECT-ID/locations/LOCATION/recommenders/google.cloudsql.instance.PerformanceRecommender.MySqlHighNumberOfTablesBestPractice/recommendations
Substitua:
PROJECT_ID: o ID do projeto
LOCATION: uma região, como us-central1.
Se o recomendador detectar instâncias com alto número de tabelas, elas vão ser listadas em uma
tabela com outras recomendações de desempenho.
Cada linha mostra o ID da instância, uma breve recomendação, o mecanismo de banco de dados, o local e a data da última atualização.
Ver insights e recomendações detalhadas
É possível visualizar insights e recomendações detalhadas sobre instâncias
que têm um grande número de tabelas usando o Console do Google Cloud,
gcloud CLI ou a API Recommender.
Console
Para ver insights e recomendações detalhadas sobre instâncias próximas do limite de desempenho usando o console do Google Cloud, clique no link de
recomendação na lista de instâncias.
CLI da gcloud
Para ver insights e recomendações detalhadas sobre instâncias próximas do limite de desempenho usando a gcloud CLI, execute o comando
gcloud recommender insights list
da seguinte maneira:
Para ver insights e recomendações detalhadas sobre instâncias próximas do limite de desempenho
usando a API Recommendations,
chame o insights.list
da seguinte forma:
GET https://recommender.googleapis.com/v1beta1/projects/PROJECT-ID/locations/LOCATION/insightTypes/google.cloudsql.instance.PerformanceRecommender.MySqlHighNumberOfTables/insights
Substitua:
PROJECT_ID: o ID do projeto
LOCATION: uma região, como us-central1.
A tabela a seguir lista o insight e a recomendação que o recomendador de alto número de tabelas abertas do Cloud SQL
gera para ajudar a melhorar o desempenho.
Os subtipos estão visíveis nos resultados da gcloud CLI e da API.
Insight
Recomendação
O número de tabelas nesta instância é maior ou igual a 80% do limite do SLA, que é de 50.000 tabelas.
Subtipo: MYSQL_HIGH_NUMBER_OF_TABLES
Aumente o número de tabelas para melhorar o desempenho da instância do Cloud SQL.
Subtipo: MYSQL_HIGH_NUMBER_OF_TABLES_BEST_PRACTICE
Aplicar recomendações
Avalie as recomendações com atenção e siga um destes procedimentos:
Para dispensar a recomendação de modo que ela não seja enfatizada e apareça escurecida,
clique em Dispensar.
Para fechar o painel sem aplicar ou dispensar a recomendação, clique em
Cancelar.
Otimizar o desempenho da instância
Edite a instância para aumentar o número de vCPUs para pelo menos 32 núcleos e o tamanho da memória para pelo menos 200 GB.
Isso aumenta o limite de tabelas da instância de 50.000 para 500.000.
Descarte as tabelas desnecessárias:
DROP TABLE TABLE_NAME;
Substitua:
TABLE_NAME: nome da tabela que você pretende soltar.
Reduza o número de tabelas por instância dividindo o banco de dados em várias instâncias para manter o número de tabelas em cada
instância dentro dos limites recomendados.
Se não for possível reduzir imediatamente o número de tabelas, reduza a probabilidade
da instância ser afetada pela contagem alta de tabelas.
Para isso, defina a sinalização innodb_file_per_table como DESATIVADA. Para desativar o valor da
sinalização innodb_file_per_table, consulte Configurar uma sinalização de banco de dados.
No entanto, essa configuração não leva a instância de volta à conformidade com o SLA.
Veja estas diretrizes operacionais.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Informações incorretas ou exemplo de código","incorrectInformationOrSampleCode","thumb-down"],["Não contém as informações/amostras de que eu preciso","missingTheInformationSamplesINeed","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-09-04 UTC."],[],[],null,["# Manage high number of tables\n\n\u003cbr /\u003e\n\nMySQL \\| PostgreSQL \\| SQL Server\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n|\n| **Preview**\n|\n|\n| This feature is subject to the \"Pre-GA Offerings Terms\" in the General Service Terms section\n| of the [Service Specific Terms](/terms/service-terms#1).\n|\n| Pre-GA features are available \"as is\" and might have limited support.\n|\n| For more information, see the\n| [launch stage descriptions](/products#product-launch-stages).\n\nThe Cloud SQL high-number-of-tables [recommender](/recommender/docs/overview) helps you detect instances\nwhose table count is too high and close to the SLA limit. It then provides recommendations\non how to optimize such instances and improve instance performance.\n\nThis page describes how the high-number-of-tables recommender works and how\nyou can use it.\n\nHow it works\n------------\n\nIf you have 50,000 or more database tables on a single instance, it could result\nin the instance becoming unresponsive or unable to perform maintenance operations,\nand the instance is not covered by the SLA.\n\nThe Cloud SQL high-number-of-tables recommender analyzes metrics for the number\nof tables on a Cloud SQL MySQL instance. If the number of tables is larger than or\nequal to 80% of the SLA limit, which allows for 50,000 tables, the instance is considered\nto have a high number of tables.\n| **Note:** Recommendations are generated daily.\n\nPricing\n-------\n\nThe Cloud SQL high-number-of-open-tables recommender is in the *Standard* [Recommender pricing tier](/recommender/pricing).\n\nBefore you begin\n----------------\n\nBefore you can view recommendations and insights, do the following:\n\n- To get the permissions to view and work with insights and recommendations, ensure that you have the required [roles](/sql/docs/mysql/project-access-control#roles).\n\n For more information about roles, see [understanding roles](/iam/docs/understanding-roles) and [granting IAM permissions](/iam/docs/granting-changing-revoking-access).\n-\n\n\n Enable the Recommender API.\n\n\n [Enable the API](https://console.cloud.google.com/flows/enableapi?apiid=recommender.googleapis.com)\n\nList Improve Instance Performance recommendations\n-------------------------------------------------\n\nYou can list the Improve Instance Performance recommendations by\nusing the Google Cloud console, [gcloud CLI](/sdk/gcloud), or the Recommender API.\n\nThe improve instance performance recommendations are shown only if you have instances that\nare nearing performance threshold limits. \n\n### Console\n\nTo list recommendations about instance performance by using the\nGoogle Cloud console, follow these steps:\n\n1. Go to the **Cloud SQL Instances** page.\n\n [Go to Cloud SQL Instances](https://console.cloud.google.com/sql/instances)\n2. Click **View all** on the Manage high number of tables recommendations banner.\n\nAlternatively, follow these steps:\n\n1. Go to the **Recommendation Hub** . See also [Getting started with Recommendation Hub](/recommender/docs/recommendation-hub/identify-configuration-problems).\n\n [Go to the Recommendation Hub](https://console.cloud.google.com/home/recommendations/)\n2. In the **Improve Cloud SQL Instance Performance** card, click **View all**.\n\n3. Select the instances with **Manage high number of tables** recommendation.\n\n### gcloud CLI\n\nTo list Improve Instance Performance recommendations by using `gcloud CLI`, run the\n[`gcloud recommender recommendations list`](/sdk/gcloud/reference/recommender/recommendations/list)\ncommand as follows: \n\n```\ngcloud recommender recommendations list \\\n--project=PROJECT_ID \\\n--location=LOCATION \\\n--recommender=google.cloudsql.instance.PerformanceRecommender \\\n--filter=recommenderSubtype=MYSQL_HIGH_NUMBER_OF_TABLES_BEST_PRACTICE\n```\n\nReplace the following:\n\n- \u003cvar translate=\"no\"\u003ePROJECT_ID\u003c/var\u003e: Your project ID\n- \u003cvar translate=\"no\"\u003eLOCATION\u003c/var\u003e: A region, such as `us-central1`\n\n### API\n\nTo list Improve Instance Performance recommendations by using the\n[Recommendations API](/recommender/docs/using-api), call the\n[`recommendations.list`](/recommender/docs/reference/rest/v1beta1/projects.locations.recommenders.recommendations/list)\nmethod as follows: \n\n```\nGET https://recommender.googleapis.com/v1beta1/projects/PROJECT-ID/locations/LOCATION/recommenders/google.cloudsql.instance.PerformanceRecommender.MySqlHighNumberOfTablesBestPractice/recommendations\n```\n\nReplace the following:\n\n- \u003cvar translate=\"no\"\u003ePROJECT_ID\u003c/var\u003e: Your project ID.\n- \u003cvar translate=\"no\"\u003eLOCATION\u003c/var\u003e: A region, such as `us-central1`.\n\nIf the recommender detects instances with high number of tables, it lists them in a\ntable with other performance recommendations.\nEach row shows the instance ID, a brief recommendation, database engine, the location, and the last refresh date.\n\nView insights and detailed recommendations\n------------------------------------------\n\nYou can view insights and detailed recommendations about instances\nthat have a high number of tables by using the Google Cloud console,\n`gcloud CLI`, or the Recommender API. \n\n### Console\n\nTo view insights and detailed recommendations about instances that are close to the performance threshold by using the Google Cloud console, click the recommendation\nlink in the list of instances.\n\n### gcloud CLI\n\nTo view insights and detailed recommendations about instances that are close to the performance threshold by using `gcloud CLI`, run the\n[`gcloud recommender insights list`](/sdk/gcloud/reference/recommender/insights/list)\ncommand as follows: \n\n```\ngcloud recommender insights list \\\n--project=PROJECT_ID \\\n--location=LOCATION \\\n--insight-type=google.cloudsql.instance.PerformanceInsight \\\n--filter=insightSubtype=MYSQL_HIGH_NUMBER_OF_TABLES\n```\n\nReplace the following:\n\n- \u003cvar translate=\"no\"\u003ePROJECT_ID\u003c/var\u003e: Your project ID.\n- \u003cvar translate=\"no\"\u003eLOCATION\u003c/var\u003e: A region, such as `us-central1`.\n\n### API\n\nTo view insights and detailed recommendations about instances that are close to the performance threshold\nby using the [Recommendations API](/recommender/docs/using-api),\ncall the [`insights.list`](/recommender/docs/reference/rest/v1beta1/projects.locations.insightTypes.insights/list)\nmethod as follows: \n\n```\nGET https://recommender.googleapis.com/v1beta1/projects/PROJECT-ID/locations/LOCATION/insightTypes/google.cloudsql.instance.PerformanceRecommender.MySqlHighNumberOfTables/insights\n```\n\nReplace the following:\n\n- \u003cvar translate=\"no\"\u003ePROJECT_ID\u003c/var\u003e: Your project ID.\n- \u003cvar translate=\"no\"\u003eLOCATION\u003c/var\u003e: A region, such as `us-central1`.\n\nThe following table lists the insight and recommendation that the Cloud SQL\nhigh-number-of-open-tables recommender generates to help you improve performance.\nThe subtypes are visible in the `gcloud CLI` and API results.\n\nApply recommendations\n---------------------\n\nEvaluate the recommendations carefully and do any of the following:\n\n- To examine the instance, click **View instance** . See [Optimize the performance of your instance](#optimize-performance)\n and follow the recommendations.\n\n- To dismiss the recommendation so that it's de-emphasized and appears dimmed,\n click **Dismiss**.\n\n- To close the panel without applying or dismissing the recommendation, click\n **Cancel**.\n\n### Optimize the performance of your instance\n\n- [Edit](/sql/docs/mysql/edit-instance) your instance to increase the number of vCPUs\n to at least 32 cores and the memory size to at least 200 GB.\n This increases the instance's [table limit](/sql/docs/mysql/quotas#table_limit) from 50,000 to 500,000.\n\n | **Caution:** This operation can lead to an increase in cost. Additionally, it triggers a restart, which can cause downtime on the instance.\n- Drop unnecessary tables:\n\n ```\n DROP TABLE TABLE_NAME; \n ```\n\n Replace the following:\n - \u003cvar translate=\"no\"\u003eTABLE_NAME\u003c/var\u003e: Name of the table you intend to drop.\n- Reduce the number of tables per instance by splitting the database across multiple instances to keep the number of tables in each\n instance within the recommended limits.\n\n- If you cannot immediately reduce the number of tables, you can reduce the likelihood\n of your instance being impacted by the high table\n count by setting the `innodb_file_per_table` flag to OFF. To turn off the value of\n the `innodb_file_per_table` flag, see [Configure a database flag](/sql/docs/mysql/flags?hl=en#config).\n However, this setting does not bring the instance back into SLA compliance.\n See these [operational guidelines](/sql/docs/mysql/operational-guidelines?hl=en#tables).\n\n- Use a general tablespace to create tables or move existing tables to a general tablespace.\n To learn more, see [MySQL documentation on general tablespaces](https://dev.mysql.com/doc/refman/8.0/en/general-tablespaces.html).\n\nWhat's next\n-----------\n\n- [Increase the table open cache size](/sql/docs/mysql/recommender-high-number-of-open-tables)\n- [Monitor disk availability](/sql/docs/mysql/using-ood-recommender)\n- [Identify idle Cloud SQL instances](/sql/docs/mysql/recommender-sql-idle)\n- [Reduce overprovisioned Cloud SQL instances](/sql/docs/mysql/recommender-sql-overprovisioned)\n- Explore [Google Cloud recommenders](/recommender/docs/recommenders)"]]