技能 database-operations
🗄️

database-operations

安全 🌐 網路存取📁 檔案系統存取

Escrever consultas de banco de dados SQLAlchemy eficientes

Consultas de banco de dados escritas com for-loops são lentas e criam problemas de manutenção. Esta skill fornece diretrizes para usar operações em lote do SQLAlchemy e padrões de repositório para escrever código de banco de dados rápido e de fácil manutenção.

支援: Claude Codex Code(CC)
📊 70 充足
1

下載技能 ZIP

2

在 Claude 中上傳

前往 設定 → 功能 → 技能 → 上傳技能

3

開啟並開始使用

測試它

正在使用「database-operations」。 Inserir em lote 1000 registros de usuário de forma eficiente

預期結果:

  • Use session.bulk_insert_mappings() para inserções em lote eficientes
  • Passe uma lista de dicionários com atributos do modelo
  • Exemplo: session.bulk_insert_mappings(User, user_list)
  • Isso executa uma única instrução INSERT em vez de 1000 consultas separadas

正在使用「database-operations」。 Criar um repositório para acesso a dados de usuário

預期結果:

  • Defina uma classe UserRepository com injeção de Session
  • Implemente métodos find_by_id, find_by_email e find_active
  • Use type hints para melhor clareza e manutenção do código
  • Mantenha a lógica de banco de dados abstraída da camada de negócio

正在使用「database-operations」。 Corrigir consulta lenta com problema N+1

預期結果:

  • Substitua a busca de dados relacionados baseada em loop por joinedload()
  • Configure a estratégia de carregamento de relacionamento nas opções de consulta
  • Uma única consulta recupera todos os objetos relacionados de forma eficiente
  • Reduz centenas de consultas para apenas uma ou duas idas e voltas

安全審計

安全
v5 • 1/16/2026

Pure prompt-based skill containing only SQLAlchemy guidelines. No executable code, no file access, no network calls, no command execution. Static findings are false positives from pattern matching on words like 'algorithm' in non-security contexts. This skill provides only instructional text about database query optimization.

2
已掃描檔案
184
分析行數
2
發現項
5
審計總數

風險因素

🌐 網路存取 (1)
📁 檔案系統存取 (1)
審計者: claude 查看審計歷史 →

品質評分

38
架構
100
可維護性
87
內容
30
社群
100
安全
83
規範符合性

你能建構什麼

Otimizar código de banco de dados existente

Refatorar operações lentas de banco de dados com for-loop para usar métodos em lote do SQLAlchemy e obter melhor desempenho.

Projetar camada de dados de fácil manutenção

Estruturar operações de banco de dados em classes de repositório seguindo padrões estabelecidos.

Escrever operações em lote eficientes

Usar SQL joins e métodos em lote ao processar grandes conjuntos de dados com SQLAlchemy.

試試這些提示

Inserção em lote básica
Use SQLAlchemy bulk insert to add multiple user records to the database. Show the bulk_insert_mappings method.
Padrão de atualização em lote
Write a SQLAlchemy bulk update operation to change status for all pending orders. Include the Core update statement pattern.
Estrutura de repositório
Create a UserRepository class with methods for finding users by email, getting active users, and updating last login.
Otimização de join
Show how to use SQLAlchemy joinedload or selectinload to fetch users with their orders in a single query instead of separate queries.

最佳實務

  • Sempre prefira métodos em lote do SQLAlchemy em vez de for-loops do Python para operações de banco de dados
  • Use SQL joins para buscar dados relacionados em uma única consulta em vez de múltiplas consultas
  • Organize operações de banco de dados em classes de repositório para facilitar manutenção e testes

避免

  • Iterar através de resultados de consulta com for-loops para inserir ou atualizar registros
  • Fazer chamadas separadas ao banco de dados em loops para buscar objetos relacionados (problema N+1)
  • Colocar lógica de banco de dados diretamente em manipuladores de rota ou controladores sem abstração

常見問題

Quais versões do SQLAlchemy são suportadas?
Funciona com SQLAlchemy 1.4 e 2.0. Os padrões se aplicam tanto às interfaces Core quanto ORM.
Quais são os benefícios de desempenho?
Operações em lote reduzem centenas de consultas para uma única ida e volta ao banco de dados, melhorando significativamente a velocidade.
Isso pode ser integrado com FastAPI ou Flask?
Sim, o padrão de repositório funciona com qualquer framework web Python que use SQLAlchemy.
Meus dados estão seguros com esta skill?
Esta skill fornece apenas orientação. Nenhum dado é armazenado, transmitido ou acessado pela própria skill.
Por que evitar for-loops para operações de banco de dados?
For-loops causam consultas N+1, fazendo centenas de chamadas ao banco de dados em vez de uma única operação em lote eficiente.
Como isso se compara ao SQL puro?
Métodos em lote do SQLAlchemy usam SQL otimizado internamente enquanto fornecem abstrações Pythônicas e segurança.