• I like this better:

    declare @bntTotalRowsScanned bigint

    select @bntTotalRowsScanned = sum(i.rowcnt * u.user_scans)

    from sys.dm_db_index_usage_stats as u

    inner joinsys.sysobjects as o on u.object_id = o.id and o.xtype = 'U'

    inner joinsys.sysindexes as i on u.index_id = i.indid and o.id = i.id

    where u.database_id = db_id()

    select top 10 o.name as 'Table'

    , isnull(i.name, '(Heap, No Indexes)') as 'Index'

    , i.rowcnt as 'Est Rows'

    , u.user_seeks as 'Seeks'

    , u.user_scans as 'Scans'

    , u.user_lookups as 'Lookups'

    , i.rowcnt * u.user_scans as 'Rows Scanned'

    , cast(cast(i.rowcnt * u.user_scans * 100 as float) /cast(@bntTotalRowsScanned as float) as decimal(5,2)) as PctTotal

    from sys.dm_db_index_usage_stats as u

    inner joinsys.sysobjects as o on u.object_id = o.id and o.xtype = 'U'

    inner joinsys.sysindexes as i on u.index_id = i.indid and o.id = i.id

    where u.database_id = db_id()

    order by 7 desc