Vraag : grootte van gegevens door een vraag zijn teruggekeerd die

hoe u de grootte van de gegevens kunt vinden die een vraag terug brengt:
select col1, col2….col12 van tablea
how u weten hoeveel bytes van gegevens door de bovengenoemde vraag is teruggekeerd? />statistics


thanks

Antwoord : grootte van gegevens door een vraag zijn teruggekeerd die

Misschien iets in die aard (dit zal niet werken aan systeemlijsten, enkel gebruikerslijsten). Dit is van AdventureWorks steekproef db. Neem een blik bij de laatste kolom in het beeld

verklaar @exec varchar (maximum)
verklaar @table sysname
verklaar @schema sysname

plaats @table = „Werknemer“
plaats @schema = „Personeel“
SELECTEER @EXEC = VERVANGEN (VERVANG (VERVANG („SELECTEER *, DATALEN=@CALC VAN [@SCHEMA]. [@table]“,
                 „@calc“, (@table) dbo.GetDataLenList),
                 „@table“, @table),
                 „@schema“, @schema)

druk @exec
exec (@exec)
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
CRE�ëR FUNCTIE [GetDataLenList] (
  @TableName SYSNAME
) WINST (MAXIMUM) VARCHAR ZOALS BEGINNEN

  VERKLAAR @COUNT INT.
  VERKLAAR @CTR   INT.
  VERKLAAR @COLNAME SYSNAME
  VERKLAAR @SCHEMA  SYSNAME
  VERKLAAR (     MAXIMUM) @SQL VARCHAR
  VERKLAAR @SQLEXEC (MAXIMUM) VARCHAR

  VERKLAAR @COLS- LIJST (
    DE IDENTITEIT         VAN IDENTITEITSKAART INT. (1, 1),
    ColumnName NVARCHAR (128),
    SchemaName NVARCHAR (128)
  )
  
  TUSSENVOEGSEL IN @COLS 
  SELECTEER COLUMN_NAME, TABLE_SCHEMA
    VAN INFORMATION_SCHEMA.COLUMNS 
   WAAR TABLE_NAME = @TABLENAME 

  VASTGESTELD @sql = ''
  SELECTEER @COUNT = TELLING (*) VAN @COLS
  PLAATS @ctr = 1
  TERWIJL @CTR <> 1 BEGINT
       PLAATS @sql = @sql + „+“
     EIND
     VASTGESTELD @sql = @sql + VERVANG („ISNULL (DATALENGTH (@@colName@@), 0)“, „@@colName@@“, QuoteName (@colName))
    PLAATS @ctr = @ctr + 1
  EIND
  TERUGKEER @sql
EIND
Andere oplossingen  
 
programming4us programming4us