Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
 Масса таблицы  [new]
LETME
Member

Откуда: Moscow
Сообщений: 561
Ребята,
извините за глупый вопрос - при двух гегах база ломается, а как узнать вес отдельной таблицы?

Спасибо.
24 фев 06, 00:36    [2386264]     Ответить | Цитировать Сообщить модератору
 Re: Масса таблицы  [new]
NG
Member

Откуда: Екатеринбург
Сообщений: 1492
уже было...
24 фев 06, 01:30    [2386328]     Ответить | Цитировать Сообщить модератору
 Re: Масса таблицы  [new]
LETME
Member

Откуда: Moscow
Сообщений: 561
NG
уже было...


Вопрос простой: как посмотреть вес таблицы в байтах!? - при чем тут умножения и деления домов и баз данных (ежу понятно).
Это возможно?

Спасибо, извините.
24 фев 06, 01:38    [2386332]     Ответить | Цитировать Сообщить модератору
 Re: Масса таблицы  [new]
NG
Member

Откуда: Екатеринбург
Сообщений: 1492
автор
Сжать базу. Посмотреть размер файла. Грохнуть таблицу. Сжать базу. Посмотреть размер файла. Вычесть из первого второе. :)


автор
Так оно про килобайты....????
Тады создать пустую базу, померить размер файла, скопировать туда табличку, снова померить...


О делении и делении домов и речи нет...
24 фев 06, 01:45    [2386339]     Ответить | Цитировать Сообщить модератору
 Re: Масса таблицы  [new]
LETME
Member

Откуда: Moscow
Сообщений: 561
Ну все - СПАСИБО, - ответ и требовался примерно такой, что "размер таблицы нельзя увидеть, как, скажем в TC размер файла - нужно устанавливать опытным путем".
Еще раз повторюсь - мне важна отметка на экране о размере таблицы. Такой, исходя из разговора, - нет.

Признателен.
24 фев 06, 01:55    [2386344]     Ответить | Цитировать Сообщить модератору
 Re: Масса таблицы  [new]
efdm
Member

Откуда: Москва
Сообщений: 310
Скорее всего не поможет, поскольку я сильно сомневаюсь что в 2-хгиговой базе обошлось без МЕМО полей, но для таблиц без МЕМО правдоподобную оценку можно получить так:
Sub TableSizes()
Dim rdst1 As New ADODB.Recordset, _
    rdst2 As New ADODB.Recordset, _
    rdst3 As New ADODB.Recordset, _
    fld As ADODB.Field, _
    TabSize As Long, TotalSize As Long
Dim cnn As ADODB.Connection

Set cnn = CurrentProject.Connection
Set rdst1 = cnn.OpenSchema(adSchemaTables)
rdst1.Filter = "TABLE_TYPE = 'TABLE'"
Set rdst3 = cnn.OpenSchema(adSchemaStatistics)
Do While rdst1.EOF <> True And rdst1.BOF <> True
    TabSize = 0
    rdst2.Open "Select top 1 * from [" & rdst1!Table_Name & "]", CurrentProject.Connection
    For Each fld In rdst2.Fields
        TabSize = TabSize + fld.DefinedSize
    Next
    rdst2.Close
    
    rdst3.Filter = "TABLE_NAME = '" & rdst1!Table_Name & "'"
    Debug.Print rdst1!Table_Name, TabSize * rdst3!CARDINALITY
    TotalSize = TotalSize + TabSize * rdst3!CARDINALITY
    rdst1.MoveNext
Loop

Debug.Print "Total Size:", TotalSize

End Sub
24 фев 06, 17:10    [2387746]     Ответить | Цитировать Сообщить модератору
 Re: Масса таблицы  [new]
efdm
Member

Откуда: Москва
Сообщений: 310
Кстати, интересно - как понять сколько места занимает МЕМО поле (ну кроме уделения данных и compact). И вообще как оно в Аксе хранится - режется на части или что-то типа "следующие 321 байт - значение поля, а дальше следующая хрень"?

Кто-нибудь знает?
26 фев 06, 11:04    [2390000]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft Access Ответить