Tengo un montón de tablas en las que estoy iterando, y algunas de ellas no tienen filas (es decir, solo una tabla de encabezados sin datos). ej.: SELECT my_column FROM my_schema.my_table LIMIT 1 devuelve un conjunto de resultados vacío.
¿Cuál es la forma más rápida de verificar que una tabla sea una de estas tablas sin filas?
He considerado: SELECT my_column FROM my_schema.my_table LIMIT 1 o SELECT * FROM my_schema.my_table LIMIT 1 seguido de un if result is None (estoy trabajando en Python). ¿Hay alguna forma más rápida de verificar?
Esto no es más rápido que su solución, pero devuelve un valor booleano sin importar:
select exists (select 1 from mytable)select exists (select * from myTab);o
select 1 where exists (select * from myTab)o incluso
SELECT reltuples FROM pg_class WHERE oid = 'schema_name.table_name'::regclass;El tercer ejemplo usa el estimador para estimar filas, lo que puede no ser 100 % preciso, pero puede ser un poco más rápido.
SELECT COUNT(*) FROM table_name limit 1;Prueba este código.