Вычисление размера почты, хранящейся в MySQL

GP

Новичок
Вычисление размера почты, хранящейся в MySQL

Есть сайт. На нем есть внутренняя почта(личные сообщения). Все данные хранятся в MySQL в одной табличке.

Необходимо вычислить размер почтового ящика у каждого пользователя, чтобы в случае превышения объема ящика больше чем, например, 10мб - заблокировать отправку сообщений.


MySQL судя по всему данные о размере конкретной записи в таблице не отдает, а только для всей таблицы.

Есть идея посчитать кол-во символов у (темы+сообщения) и умножить на кол-во байт каждого символа. Потом эти данные закэшировать в поле message_size у этого сообщения, чтобы заново больше не пересчитывать. И уж потом выбрать все письма у данного пользователя и, сложив все закэшированные размеры, получить размер ящика.



Хотелось бы узнать как другие реализовывали на сайтах подобную вещь, а то мне почему то кажется что мой способ бредовый ))

-~{}~ 17.05.08 14:21:

ну или может у кого есть идеи как это можно лучше организовать, не стесняйтесь, пишите :)
 

Gas

может по одной?
Реальный выигрыш при подсчёте размера ящика в твоём случае будет, если создать составной индекс (id_user,message_size). Но если больше не для чего этот индекс использоватся не будет, может стоит сразу в профайле пользователя хранить полный размер его ящика.
 

GP

Новичок
>>создать составной индекс
Кстати да, спасибо!

>>в профайле пользователя хранить полный размер его ящика.
Ага, я так потом и хотел сделать. а этот размер обновлять только при удалении/создании сообщения.


Значит не бредовая у меня все-таки идея ))) Ок, пошел реализовывать.
 
Сверху