169 похожих чатов

Привет коллеги! Подскажите пожалуйста, как корректно оценить средний вес столбцов

в таблице?
Есть задача, сократить объем инсерта. Сокращать планирую построением топа самых жирных вставляемых полей(с дальнейшим анализом нужности). Размер изначально пустой таблицы после инсерта составляет 45гб. В таблице 600 полей. Я посчитал средний вес каждого поля функцией avg(datalehgth(colName)). Однако после сложения всех средних значений веса столбцов и умножении на кол-во строк, я получаю 7.5гб а не 45. То есть что-то я явно делаю не так. Подскажите пожалуйста, как можно корректно построить топ самых тяжёлых столбцов в табле? (Также в табле большая часть нулевых столбцов без значений, но они как я понимаю не должны иметь существенного веса)

11 ответов

71 просмотр

600 полей в таблице?

а каким образом ты будешь сокращать? ну допустим ты узнал что 10, 100 и 555 поля больше всех

Zakhary- Автор вопроса
Gopneg
а каким образом ты будешь сокращать? ну допустим т...

Эти поля передам в продуктовую команду для анализа необходимости их хранения для дальнейшего расчета

Zakhary
Эти поля передам в продуктовую команду для анализа...

из-за каких-то 45гб будешь людей напрягать? причем даже не 45, а скажем гб 10 тебе скинут

Zakhary- Автор вопроса

Вам надо просто посчитать sum(datalength) для каждой колонки Дальше оно с точностью до фактического fillfactor и нюансов типа одного бита на null даст нужное Вероятно, вам стоит почитать про секционирование и columnstore

План запроса и понимание всего процесса есть? Вдруг у тебя там селект тупит который используется для вставки

Zakhary- Автор вопроса
Yuriy T
План запроса и понимание всего процесса есть? Вдру...

Селект Каунт по условию работает секунд 15. Топ 100 с сортировкой по условию в пределах минуты. Как я вижу с логикой селекта проблемы маловероятны.

Потому что пустое поле не означает что под него не выделено место. Скопируй интересующую колонку (одну) во временный объект с той же метадатой и замерь его размер

Zakhary- Автор вопроса
Sergey Gladkikh
Потому что пустое поле не означает что под него не...

Спасибо попробую. Правда пока не представляю как это сделать для 600 столбцов

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта