в теории не есть хорошо переносить да и просто дублировать в отдельных таблицах. ибо все данные уже есть в одной общей.
Вопрос нормализации/денормализации. В теории с нормальными формами все зашибись и красиво, на практике объемы выборки вносят свои коррективы. Денормализацию не от хорошей жизни используют, как раз случай как у вас, искусство построения хайлоад, в частности, найти что можно дешево денормализовать с минимальными потерями консистентности. Тот же редис и иже с ними - денормализация в чистом виде - дублирование и ускорение за счет консистентности хранимых данных. Так что - выносить без вопросов, счетчики же у вас не идут никуда в хранение - только промежуточно выносятся с каким-то интервалом в отдельную таблицу. Нарушения связей не происходит, только незначительное дублирование, это приемлемо.
Boris Korobkov, я не говорю что это верно, я четко указал что это помогает вскрыть криво написанный код, те же вк не морочат себе голову с такими заморочками, хотя не факт что публикуемый ид как-то внутренне четко связан с ид пользователя в системе, скорее всего сгенерированный ключ.
Boris Korobkov, И? Кривые руки никто указом президента не отменял, дыра в довольно распространенной системе есть (была). что говорить о менее компетентных разработчиках, например - смотрим ид админа, меняем в подстановке логин и пароль себе - ставим ид админа - и хопа - мы поменяли пароль админу. Понятное дело что для серьезных систем такое не прокатит, но я сам видел код а ля $user->initByArray($_POST); на продакшене в ничего так себе конторе.
тут задача конечно нетривиальная, но и решение из области очевидных - вынос в отдельную таблицу, крон раз в минуту на обновление, это все лучше чем 100500 юзеров раз в 5 минут это все будут запрашивать. Тут уже нужен баланс типов счетчиков/ отдельных подсчетов. Тут вопрос не логики как сделать идеально, таких решений в принципе нет, просто тут нужен тонкий баланс между "все пропало" и "лучше не бывает".
Ок, начнем с основ: Что вы можете предложить такого, чего нет у конкурентов? Сроки? Цены? Сервис? Бесплатные плюшки? На кого ориентируетесь в своем бизнесплане, проще говоря - а что вы можете?
Евгений Петров, вообще для таких вещей СНАЧАЛА формируют в переменную строку запроса, для того что бы ее можно было сдебажить, а потом ее выполняют. Логика подсказывает что кука содержит левый мусор или ничего, что стоило бы проверить в самом начале сделав var_dump($_COOKIE);, кроме того если это цифра, логичнее использовать intval() вместо strip_tags
Андрей Рысь, обратите внимание на элементы data-toggle="tab", это стандартный элемент для работы с табами в бутстрап, там не нужно ничего придумывать, надо только правильно прописать классы, я дал страничку на которой описана работа с табами бутстрап, надо только прочитать, осмыслить и применить, даже работающие примеры есть.
Dark-Side, для начала, это не форум. Далее, я вам уже ответил что читать и где смотреть. При подаче вопроса вы прочли условия сервиса? Написано же - сайт не ставит целью выдать вам готовое решение, за вас никто тут код писать не будет, тем более что задача описана в двух словах, никакой конкретной проблемы. Вам дали линк на источники знаний, дали ключевые направления по вашему вопросу - дальше сами, лентяи и попрошайки кода здесь долго не задерживаются.
Xambey, я конечно не супер спец в миграциях, но емнип синтаксис у баз весьма близок, нельзя ли просто слить SQL с mssql и залить на мускуль? или это слишком банально и не стоит внимания? Вроде в свое время мы достаточно легко перенесли базу на 2кк юзверей тупо дампом. Единственный косяк был в UCS формате, вместо UTF-8, честно говоря уже не помню как лечили, но вроде решили быстро. Все вроде поднялось, ну кроме процедур. их переписать пришлось.
PS: или так