Estou procurando a maneira mais rápida de consultar uma lista de colunas de uma determinada tabela em um banco de dados. Percebo que a INFORMATION_SCHEMA.columns
exibição existe no Microsoft SQL Server.
No entanto, no PostgreSQL, lembro-me de usar o INFORMATION_SCHEMA.columns
para obter uma lista de colunas de uma tabela específica e, por meio de experimentação, se bem me lembro, achei o seguinte mais rápido do que usar o esquema de informações:
SELECT *
FROM pg_catalog.pg_tables
WHERE schemaname != 'pg_catalog'
AND schemaname != 'information_schema';
Por experiência pessoal, a consulta pode levar 10 ms em uma tabela de objetos, mas 200 ms no esquema de informações.
O SQL Server tem uma maneira equivalente mais rápida de obter a lista de colunas de uma determinada tabela como o PostgreSQL?
Você está procurando
sys.columns
esys.tables
nas Exibições do Catálogo de Objetos .As diferenças de desempenho geralmente não são uma preocupação para o SQL Server, mas as exibições do esquema de informações não são bem mantidas e não fornecem cobertura total. Consulte O caso contra as visualizações INFORMATION_SCHEMA de Aaron Bertrand.