[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: объем памяти в mysql
Guest
Доброго времени суток.
Вопрос следующий, Есть портал у портала mysql база.
Участники регистрируются и начинают строчить сообщения и оставлять картинки.
Картинки хранятся в папке сообщения в базе. Хотелось бы вывести в личном кабинете портала персонально каждому участнику объем занимаемый им на проекте памяти, понятно, что можно запросить объем памяти папки с картинками участника и вывести участнику в личке инфу по объему памяти затрачиваемому на картинки, но как быть с сообщениями, которые сохраняются в базе?
Может быть есть специальная функция в sql считающая занимаемое место по указанным условиям, т.е. допустим выбрать все записи юзера из такой то таблицы и установить их вес, подобное решение есть?
Игорь_Vasinsky
Цитата
Хотелось бы вывести в личном кабинете портала персонально каждому участнику объем занимаемый им на проекте памяти


а нафиг ему это?
ура я базу сервису забил user posted image

выводите кол-во сообщений.

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Guest
а нафиг ему это?
нужно -он так будет видеть за что платит

выводите кол-во сообщений
задача заключается в выводе занимаемой памяти

Winston
C помощью filesize() можно узнать вес файла в байтах
С помощью strlen() можно узнать сколько байт занимает строка. Таким образом можно все сообщения соединить воедино, прогнать через strlen, и получить количество байт занимаемых сообщениями. А байты потом уже можно переводить в любую единицу измерения.
Примерно так...
Guest
Winston
спасибо? это да понятно? но может быть существует внутренняя команда у mysql?
FatCat
Цитата (Winston @ 23.05.2013 - 16:19)
С помощью strlen() можно узнать сколько байт занимает строка

То есть запросом к sql вытянуть в оперативную память все строки? При большом количестве информации воткнемся в ограничения оперативной памяти sql-сервера.

Не знаю как средствами самого sql получить о количестве данных, боюсь что никак. Но уж если делать через задний проход, то я бы сделал в 3 этапа:
1. SELECT INFILE
2. filesize()
3. unlink()

_____________
Бесплатному сыру в дырки не заглядывают...
FatCat
А если по уму, то взвешивать данные при отправке на сервер, каждой строке писать ее вес, а в таблицу юзеров считать сводную; перед удалением строки считывать ее вес и вычитать из сводной цифры в таблице юзеров.

_____________
Бесплатному сыру в дырки не заглядывают...
Guest
FatCat
спасибо
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.