parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Ответ

AK666 27.10.2013 16:08

// таблица сообщений
tableMessages: ID int autoinc KEY, FromUserID int, ToGroupID int, Date datetime, Msg TEXT

// таблица справочник "папок" и "меток" (для каждого пользователя -- своя)
dirFolders: ID int autoinc KEY, UserID int, ParentID int, Name varchar
dirLabels: ID int autoinc KEY, UserID int, Name varchart

// таблица привязок сообщение-метка и сообщение-папка
msgFolders: ID int autoinc KEY, UserID int, MsgID int, FolderID int, Changed timestamp
msgLabels: ID int autoinc KEY, UserID int, MsgID, LabelID int, Changed timestamp


==
tableGroups = примерно 1,5 тыс строк
tableUsers = примерно 40-50 тыс записей
tableMessages = окло 2-3х млн строк на сейчас

dirFolders: чуть больше 300тыс
dirLabels: около 100тыс

на сейчас бывает (в пик) около 2 тыс/сек инсертов в tableMessages

при отджаче пользователям списков по выборке (запрос не целиком)
SELECT FROM tableMessages INNER JOIN msgFolders WHERE UserID = ?
ощущаются притормозы уже на 2х - 3х тыс активных пользователях (т.е. запросов до 100 в сек)

по планам исполнения - все хорошо, посему очень хочется втулить какойнить memcached