2015-07-27 2 views
0

У меня уже есть запрос, который получает размер таблиц. Однако я интересуюсь только тем, чтобы получить таблицу 10 лучших размеров с размером.Как выбрать max top 10 (n) строк с размером?

как это сделать?

select convert(varchar(30),o.name) AS table_name, 
row_count(db_id(), o.id) AS row_count, 
data_pages(db_id(), o.id, 0) AS pages, 
data_pages(db_id(), o.id, 0) * (@@maxpagesize/1024) AS kbs 
from sysobjects o 
where type = 'U' 
order by table_name 

поиска похожих: select top 10 max(datapages) from sysobjects

редактировать:

Кроме того, теперь я должен получить размер индексов, добавив sysindexes в запросе достаточно или необходимо добавить еще одну системную таблицу, как syscoments?

писать это такой способ дает мне верхнее имя таблицы:

select top 10 convert(varchar(30),o.name) AS table_name, 
row_count(db_id(), o.id) AS row_count, 
data_pages(db_id(), o.id, 0) AS pages, 
data_pages(db_id(), o.id, 0) * (@@maxpagesize/1024) AS kbs 
from sysobjects o 
where type = 'U' 
order by table_name , kbs 

это метание ошибки

select top 10 data_pages(db_id(), o.id, 0) * (@@maxpagesize/1024) AS kbs , 
convert(varchar(30),o.name) AS table_name, 
row_count(db_id(), o.id) AS row_count, 
data_pages(db_id(), o.id, 0) AS pages 
from sysobjects o 
where type = 'U' 
order by kbs , table_name 
+0

Can» t вы просто изменяете 'order by' на' kbs' и добавляете 'top' в существующий запрос? –

+0

@MichaelGardner ok Я попробую это сейчас, кстати, мне теперь нужно получить размер индексов, добавив sysindexes будет достаточно? – Moudiz

+0

btw, пишущий его таким образом, бросает ошибку top 10 data_pages (db_id(), o.id, 0) * (@@ maxpagesize/1024) AS kbs – Moudiz

ответ

1

Этот запрос работает на моей системе ASE 16.0:

select top 10 convert(varchar(30),o.name) AS table_name, 
row_count(db_id(), o.id) AS row_count, 
data_pages(db_id(), o.id, 0) AS pages, 
data_pages(db_id(), o.id, 0) * (@@maxpagesize/1024) AS kbs 
from sysobjects o 
where type = 'U' 
order by kbs DESC, table_name ASC 
+0

oh ok вы добавили desc, очень приятно, как насчет индексов, sysindexes не работает со мной. – Moudiz

+0

@Moudiz Я изучаю это прямо сейчас. –