Andaikata kita menarik suatu table dengan size , jumlah row serta banyak column yang sangat besar dari OLTP (Database Transaksi) BANK pada saat busy work hour...sudah tentu akan mengganggu proses input data dan bisa-bisa dicomplain oleh user yang berada di cabang.
kali ini saya akan membahas dan memberikan contoh tentang cara mengetahui jumlah column pada table dalam database. (note : query ini diuji coba dengan menggunakan database AdventureWork2008RW, SQLSERVER2008R2 Database Engine)
pertama-tama kita perlu mengetahui column pada table dalam database
berikut query-nya
USE AdventureWorks2008R2 SELECT st.name AS table_name, SCHEMA_NAME(schema_id) AS schema_name, sc.name AS column_name FROM sys.tables AS st INNER JOIN sys.columns sc ON st.OBJECT_ID = sc.OBJECT_ID ORDER BY schema_name, table_name;
with CTE_COLUMN_IN_TABLE as (SELECT st.name AS table_name, SCHEMA_NAME(schema_id) AS schema_name, sc.name AS column_name FROM sys.tables AS st INNER JOIN sys.columns sc ON st.OBJECT_ID = sc.OBJECT_ID --ORDER BY schema_name, table_name; ) , CTE_TOTAL_COUNT_COLUMN as ( Select table_name,COUNT(column_name) as column_name FROM CTE_COLUMN_IN_TABLE Group by table_name ) SELECT * FROM CTE_TOTAL_COUNT_COLUMN Order By column_name DESC
No comments:
Post a Comment