powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Как найти таблицу с самым большим кол-вом записей (объёмом)
14 сообщений из 14, страница 1 из 1
Как найти таблицу с самым большим кол-вом записей (объёмом)
    #39290919
kos20
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все привет!
Есть некая БД , которая содержит порядка 200 таблиц. Вопрос: как определить таблицу с самым большим кол-вом информации (или по размере или по кол-ву записей или полей)?
...
Рейтинг: 0 / 0
Как найти таблицу с самым большим кол-вом записей (объёмом)
    #39290922
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kos20,

сними статистику и посмотри
...
Рейтинг: 0 / 0
Как найти таблицу с самым большим кол-вом записей (объёмом)
    #39290928
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gstat + grep
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как найти таблицу с самым большим кол-вом записей (объёмом)
    #39290953
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kos20по кол-ву полей)?

обычным отбором максимума с группировкой

примерно select first 1 Count( ИмяСтолбцов) ... group by ИмяТаблицы order by 1 desc

http://www.firebirdfaq.org/faq174/
Table and view columns are stored in RDB$RELATION_FIELDS

https://ib-aid.com/download/docs/firebird-language-reference-2.5/fblangref25-appx04-systables.html
http://www.ibexpert.net/ibe/index.php?n=Doc.SystemObjects
...
Рейтинг: 0 / 0
Как найти таблицу с самым большим кол-вом записей (объёмом)
    #39290956
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
select first 1 count(RDB$FIELD_NAME), RDB$RELATION_NAME
from RDB$RELATION_FIELDS
group by RDB$RELATION_NAME
order by 1 desc
...
Рейтинг: 0 / 0
Как найти таблицу с самым большим кол-вом записей (объёмом)
    #39291009
kos20
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денисkos20,

сними статистику и посмотри

а как снять??
...
Рейтинг: 0 / 0
Как найти таблицу с самым большим кол-вом записей (объёмом)
    #39291011
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kos20,

gstat
...
Рейтинг: 0 / 0
Как найти таблицу с самым большим кол-вом записей (объёмом)
    #39291026
Шавлюк Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kos20,

IBExpert\Службы\Статистика базы данных
...
Рейтинг: 0 / 0
Как найти таблицу с самым большим кол-вом записей (объёмом)
    #39291748
kos20
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Шавлюк Евгенийkos20,

IBExpert\Службы\Статистика базы данных

Супер. ТО, что надо
...
Рейтинг: 0 / 0
Как найти таблицу с самым большим кол-вом записей (объёмом)
    #39292451
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kos20,

в IBExpert, справедливости ради, все это скопировано с IBAnalyst.
Тем не менее, есть супербыстрый способ определения количества записей в таблицах. Только для этого у них должен быть первичный ключ.
- обновляем статистику индексов по первичным ключам (set statistics index ....)
- select i.rdb$relation_name, 1/i.rdb$statistics from rdb$indices i
where i.rdb$statistics > 0
...
Рейтинг: 0 / 0
Как найти таблицу с самым большим кол-вом записей (объёмом)
    #39292488
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv,

Так наверное более правильно будет.

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
select i.rdb$relation_name,cast (1/i.rdb$statistics as integer) as RCOUNT
from rdb$relation_constraints rc
inner join  rdb$indices i on (rc.rdb$relation_name=i.rdb$relation_name
                              and rc.rdb$index_name=i.rdb$index_name
                              and (rc.rdb$index_name is not null)
                              and TRIM(UPPER(rc.rdb$constraint_type))='PRIMARY KEY'
                              and i.rdb$statistics>0
                              )
...
Рейтинг: 0 / 0
Как найти таблицу с самым большим кол-вом записей (объёмом)
    #39292546
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ошибки округления все равно останутся

хотя если надо "плюс-минус километр" и при условии небитости индексов сойдет
...
Рейтинг: 0 / 0
Как найти таблицу с самым большим кол-вом записей (объёмом)
    #39292642
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arioch,

Согласись, что 1234.4500058568 выглядит хуже, чем 1235. Ну а ошибка округления в этом случае - да и фиг на нее - нужно только оценочную величину получить.
...
Рейтинг: 0 / 0
Как найти таблицу с самым большим кол-вом записей (объёмом)
    #39292804
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DarkMaster,

ну так я и сказал "плюс-минус километр"

а "ошибка округления", разумеется, не в самом касте, а во всех вычислениях до него
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Как найти таблицу с самым большим кол-вом записей (объёмом)
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]