Если есть такая возможность, надо использовать как можно меньше условий в WHERE.
Элементарно сменив с трех параметров до одного я получил прирост с 0.00091409683227539 сек до 0.00078392028808594 сек.
P.S. На самом деле время порой разнилось, но это наиболее стабильные данные. Может показаться, что выигрыш небольшой, только вот в первом случае время выборки порой занимало до 0.01699 сек. А что будет при дальнейшем росте базы?
Blog
-
MySQL SELECT
-
МозгоБлог
Пару лет назад кто-то (или кое-кто?) пытался создать сообщество умных людей. Называлось оно brainblog.ru. Но где-то в 2008 году создатели поняли, что не смогли сделать ничего толкового и без предупреждения убили сервис. Благодаря web.archive.org мне удалось вытащить-таки оттуда несколько постов. Я собрал их в этом блоге (чаще всего они писались с работы) под тегом brainblog.
-
Subversion: возврат к предыдущей версии…
Когда я активно продвигал Subversion на работе, то одним из доводов было то, что в случае какого затирания или появления ошибки, которой раньше не было, всегда можно будет вернуться к предыдущей версии.
Но я не знал, как это делать. Сегодня на stackoverflow.com нашел ответ (мой вольный перевод):Если вам просто надо вернуться к предыдущей версии, то команда update – то, что нужно.
svn update -r 9
Вы можете работать над кодом, но не можете внести измения в репозиторий. Ну, на самом деле, если в 10 ревизии не было изменений в этом файле, то внести в репозиторий его вы сможете, только делать этого не стоит, лучше подождать, пока кто-нибудь исправит 10-ую ревизию.Если вам все-таки хочется продолжить работать над кодом, можно создать ветку начиная с ревизии 9, а потом объединить с 10-ой, когда она будет исправлена. -
Subversion в работе
Сегодня закончил-таки установку и настройку Subversion. По сути сегодня только настроил Апач, создал репозиторий и импортировал проект. Ничего интересного.
А вот новым для меня оказалась возможность использования хуков. Это такие скрипты, которые вызываются на определенное событие. Нам, например, надо было по коммиту обновлять (svn update) рабочую версию на сервере. За это отвечает хук post-commit.
Только пока не понял, как ее задействовать только для одного проекта… -
ХДД
Название вовсе не смайл, который нынче так часто используется для выражения каких-то непонятных эмоций.
Названием сего поста – проблема, с которой я столкнулся после установки Ubuntu (на самом деле есть еще одна проблема, но о ней как-нибудь в другой раз – когда либо решу ее, либо отчаюсь и буду искать совета).
По какой-то причине Ubuntu считает мой жесткий диск поврежденным, а после минут пяти работы системы начинает так его дергать, что все виснет. Мрак. Удивительно для меня было то, что Винда, которая стоит там же, никаких ошибок не выдает. Даже при проверке диска…
Зато есть повод обратиться к начальству “за апгрейдом” 🙂 -
Убунту
Поставлю сегодня на рабочий компьютер Ubuntu 9.10.
Предположительно начнется сие действо через минут 30 и продолжится в течение всего обеда… -
Установка Subversion на работе…
Как-то уж так завелось, что этот мой блог все-таки немного рабочий. А так как недавно мне напомнили, что пора бы обновить свои дневники, то начну с этого, так как для него хотя бы есть пара мыслей еще с пятницы.
Вообще, у нас сейчас идет относительно (или довольно) серьезный проект. К сожалению, организация работы над ним оставляет желать лучшего. Например, я несколько месяцев уже предлагал использовать SVN, но мне постоянно говорили, что времени на это нет.Ну, у нас вроде как была версия для разработчиков и мы с грехом пополам работали над ней. Порой это создавало трудности, когда надо было редактировать один и тот же файл, порой мы затирали чужие изменения. Но все же это было еще терпимо. Главная проблема заключается в том, что производственный сервер не один. Их, если их можно назвать производственными серверами, десять на данный момент. Фактически это терминалы. И самое плохое стало случаться, когда надо было “быстро-быстро поправить вот на этом, а потом при первой возможности внести изменения во всех остальных, начиная с версии для разработчиков. Но часто такое просто забывалось. К пятнице у нас было уже около 5 различных версий с разными мелкими и не очень исправлениями…Проблему с версионностью с моей подачи (в этот раз мой голос услышали) решили разрешить использованием Subversion. (К сожалению, мы так и не придумали, как автоматизировать обновление терминалов…)И вот, как говорится, “за что боролись, на то и напоролись”. В том смысле, что хоть я и не админ вовсе, установку SVN на сервере поручили мне. Это я должен (был) выполнить одновременно с работой по специальности. Вообще, забавно довольно, какие задания и сроки мне давались всю минувшую неделю. Что-то просто фантастическое. Например, переписать полностью основу одной системы за один-два дня…В общем, я гордо поднял голову и сказал, что чему быть, того не миновать. И взялся за установку SVN. Для начала я узнал, что на сервере для разработчиков у нас стоит Линукс, который админ не обновлял с 2003 года. Какая-то очень древняя версия красной шляпы… Потом оказалось, что стоит Apache 1.3 (а для Subversion рекомендуется (на официальном сайте написано, что требуется) версия не ниже 2). Тогда я установил второй апач на порт 8080, как это советуют сделать при параллельном использовании двух Апачей. Разумеется, после этого потребовалось еще установить SQLite и еще какую-то ерунду. И, наконец, после всех мучений я добрался-таки до установки самой subversion. О да! Кажется, я ее даже установил. Черт побери, это отняло у меня больше четырех часов (включая время, когда я отвлекался на программирование).А завтра мне предстоит создать хранилище, импортировать проект, настроить доступ к нему. Мда. И что же админ не мог сам этого всего сделать, блин? Для него это была бы плевая задача, не требующая больше 20 минут! -
Правила блогов, форумов и чатов
О Боже, каждый раз создавая какой-то ресурс приходится ломать голову над правилами для него. Чтобы они были корректными, чтобы они были понятными, чтобы они были достаточными. И еще много других «чтобы». Но сегодня я нашел эталон! Вы посмотрите — тут нет никаких непонятных далекому от Интернета терминов вроде «флуд» или «транслит».
Конечно, можно согласиться с Джоэлом, который пишет, что правила интуитивно понятны и как какой-то перечень пунктов не нужны, они лишь заставляют послушного пользователя почувствовать себя оскорбленным, а нарушитель будто и не прочтет их. Тем не менее правила являются очень важным документом, который регламентирует одну из сторон взаимодействия с пользователем. Он должен знать, что дозволено на ресурсе, а что под строжайшим запретом. Кроме того, правила нужны и модераторам ресурса, которые должны руководствоваться не личными предпочтениями и моралью, а вполне определенными формулировками. -
Подарок на 15 июля