Преждевременная оптимизация — корень всех зол. — статья «Structured Programming with go to Statements» в сборнике «Computing Surveys» (Vol. 6, № 4, декабрь 1974, стр. 268).
Premature optimization is the root of all evil.
Преждевременная оптимизация — корень всех (или большинства) проблем в программировании. — лекция «Computer Programming as an Art», напечатанная в сборнике «Communications of the ACM» (Vol. 17, Issue 12, декабрь 1974, стр. 671).
Premature optimization is the root of all evil (or at least most of it) in programming.
Через 15 лет Кнут в своей статье «The Errors of TeX»[1] высказывание об оптимизации упоминает как изречение Энтони Хоара: «But I also knew, and forgot, Hoare’s dictum that premature optimization is the root of all evil in programming». Поэтому эти цитаты могут быть ошибочно приписаны Хоару, а не самому Кнуту. При этом сам Хоар в 2004 году в своём письме Ганцу Генвитцу (англ. Hans Genwitz) с сайта phobia.com предполагает, что это высказывание принадлежит Эдсгеру Дейкстре[2].
rionnagel, Доступно только в платных аккаунтах. И скажем так у меня большие сомнения, что какой то левый сервис лучше вас знает что у вас происходит в приложении.
Александр, Без кода все же сложно говорить. Есть ли библиотека на php для работы с nested sets?
Посмотрите в эту сторону и выберете одно из решений.
По идее все они обеспечивают согласованность данных. Как я понял было прямое удаление из БД, не через интерфейс?
Как временное решение можно создать заглушки на эти ID и удалить их из интерфейса.
Александр, Вы сами ответили на свой вопрос. Мой ответ нацелен на уменьшение насилия сервера при выводе всех данных.
У вас чуть чуть усложняется структура, но вы делаете один простой запрос вместо 1 очень тяжелого.
А если человеку нужна статистика, то он заходит и смотрит, в том числе по пайджинации.
В итоге у вас висит 1 таблица с актуальными данными и несколько таблиц исторических, и 1 служебная где хранится агрегированная статистика пусть по месяцам.
В крайнем случае удаляйте давнишние данные и сохраняйте только метаданные.
Сергей Бакотин, Мы не первый год в индустрии. Sun раскидывала пальцы насчет лицензий, ее купили через некоторое время, потом начал чудить Оракл, MS в это время клепал NET. И он постепенно отжимает долю рынка у явы и плюсов.
Сейчас другие погремушки добавь в название devops, mathlearn, cloud и ты попадешь в топ.
Все меняется. Гугл перестал быть корпорацией добра.
pygame, Пишут много. Энтерпрайзы всякие, высоконагруженные системы, все что связано с "ванилью" и легаси, мобильные приложения, облака во всяких вариациях, безсерверные приложения.
AkaruZ, Это не критично, вполне нормально держать до 2 мегабайт, многие хранят картинки, и отстаивают свое право это делать.
Единственное на что стоит обратить внимание это на сохранение состояния из разных потоков.
То есть вам нужно сделать блокировку на уровне строки. Или в коде иметь только один экземпляр этого класса что бы только он мог писать и считывать изменения.
CREATE TABLE `studentlogin`.`gamestate` (
`id` INT NOT NULL AUTO_INCREMENT,
`userid` INT NULL,
`gamedata` TEXT NOT NULL,
`created` DATETIME NOT NULL,
PRIMARY KEY (`id`),
INDEX `ix_user_id` (`userid` ASC),
INDEX `ix_created` (`created` DESC));