Чисто ставить блок, доставать id, увеличивать его, записывать новое значение, снимать блокировку? Нормальный ли такой способ?
...сделать такую view в базе в ней написать нужную логику при помощи которой она будет собирать данные по таблицам и обрабатывать их и потом просто делать обращение к ней и вывод...
Месяц не символьный получается, но числовой тип подойдет.