rgl

Пользователь
  • Публикации

    89
  • Зарегистрирован

  • Посещение

Репутация

0 Обычная

О rgl

  • Звание
    Участник

Информация

  • Пол
    Мужчина

Посетители профиля

1705 просмотров профиля
  1. То, что я искал - функция GREATEST
  2. Такая, казалось бы простая задача ставит в тупик. Есть таблица, в ней есть в т.ч. 8 интересующих полей. Нужно написать select который из каждой строчки выбирает максимальное значение из этих восьми полей. Было бы два поля, использовал бы case но выбрать из восьми - это же огромное количество вложенных кейсов получается
  3. Похоже, нашел что искал. Буду пробовать, проверять. http://www.pvsm.ru/php-2/12115
  4. echo '<a href="http://site.ru/page.html?ver='.rand(100,999).'">click here</a>'; # так?
  5. Первый запустился, файла не нашел, создает, но ДО ТОГО как он это успел, запустился второй, и тоже файла не нашел, конфликт получается. Как бы второму узнать, что первый уже задачей озаботился, и надо лишь чуток подождать? "если файл найден", "если файл не найден" - а если при запуске скрипта файл еще не найден, т.к. предыдущая инкарнация, запущенная чуток раньше, тоже файла не нашла но уже приготовилась его создавать? И поэтому, хоть и не найден, надо не создавать а чуток подождать? Вот именно на этот вопрос я и ищу ответ, увы, пока безуспешно. Есть такие страшные слова "race condition" и это то, от чего я хочу надежно, 100%-но предохраниться...
  6. Есть некий php-скрипт, который делает довольно ресурсозатратную работу (рисует картинку - график по данным). Чтобы это дело оптимизировать, хочется результат работы закэшировать, т.е. просто записать в файл чтобы при последующих запросах отдавать готовый результат. Но данные через некоторое время устаревают, т.е. кэш нужно обновлять. Вопрос - как это сделать безопасно? Т.е. вот вызвали скрипт, он понял что пора бы кэш обновить, сделал что надо, и вернул пользователю результат, но что если параллельно с ним кто-то еще вызовет тот же скрипт, и как ему понять, что кэш уже обновляют, все, что надо, это подождать секунду? Удивительно, но все попытки найти ответ в гугле ничего не дали.
  7. Случай к сайтам относится, но подходящего раздела не нашел (не в "библиотеку полезных приемов и решений" же, и не в "вопросы по верстке") поэтому напишу тут. Реальная история. Жил-был сайт, более-менее нормально работал. Одна из особенностей сайта - много страничек с маленькими картинками (как бы превьюшки) и ссылок, кликая на которые можно открыть большие картинки. Большие картинки открывались в виде маленького HTML-чика, где был один значимый тэг - img с нужной картинкой. В некоторый момент версию сайта обновили, новая версия отличалась многими мелкими деталями, в т.ч. подумалось, а зачем картинки открывать с помощью HTML-посредника, не лучше ли сделать ссылки непосредственно на картинки. Так и сделали, и все казалось что ОК. Через какое-то время сайт стал жутко тормозить, а временами вообще "падал". В чем причина? Поначалу, думали, это из-за наплыва пользователей (он действительно был). Но сайт продолжал сильно тормозить и без наплыва. Никто не думал, что это как-то связано с новой версией, ее ведь предварительно достаточно хорошо протестировали, и в тестовом режиме все работало замечательно. В конце концов причина нашлась - виноваты оказались непосредственные ссылки на картинки. Т.е. по ссылкам поисковые роботы никак не могли понять, что это картинки а не текст (расширение .php) они туда интенсивно заглядывали, надеясь найти что-то интересное для себя, и тем самым сайт перегружали. В качестве быстрой меры чтобы спасти сайт, добавили в robots.txt пару строк, мол, роботам это не смотреть. И, о чудо, сайт ожил. Вот такая история.
  8. Скопировал часть таблицы к себе на компьютер, на тестовую базу, чтобы поинраться. Вот результаты: 1. Вариант без создания временной таблицы, работает правильно, но с увеличением размера время растет невероятно быстро. На рабочем сервере даже думать нельзя такое запускать. 2. Вариант с временной таблицей несравненно шустрее, т.е. вполне ничего
  9. 1. Первичный ключ хороший, но предлагаю не спорить на эту тему (нужно ли всегда добавлять поле id, которое в некоторых книжках называют "суррогатным ключом"). Единственное, что плохо, это имя поля TIME, совпадающее с зарезервированным словом. 2. Записи из таблицы не удалаются. 3. Добавлять дельты, или делать что-либо с этой таблицей не хочу, т.к. это для работы (нормальной) не нужно, а только для решений внештатных ситуаций. 4. Что такое "итератор ключа" я не знаю, я только начинаю осваивать SQL. Хочется понять, можно ли не меняя имеющуюся таблицу сделать запрос, чтобы получить дельты. Я вижу только два варианта 1. Создать временную таблицу для этой задачи, которую потом дропнуть. 2. Вывести данные в текстовый файл, и дальше уже скриптовым языком независимо от базы найти что хочется.
  10. MySQL Есть таблица, поле первичный ключ типа datetime, остальные поля не важны. В таблице ок. 5 млн записей. Обычно записи следуют одна за другой с интервалом 1 минута, как-то так: Нужно найти в этой таблице "провалы во времени", т.е. места, гда промежуток времени между соседними записями больше заданной величины. Все, что сам я смог придумать, так это создать временную таблицу с полем id AUTO_INCREMENTи полем datetime, скопировать в нее, а затем сделать запрос из нее со джоином на себя же, по условию t1.id+1 = t2.id А можно ли без создания временной таблицы?
  11. rgl

    Подскажите, надежный и недорогой хостинг

    Хочу организовать форум. Посоветуйте хостинг и движок. Опыт и знания на нуле, все, что могу, посмотреть - на каких движках работают форумы, которые мне нравятся. Например phpBB http://www.phpbbguru.net/ или SMF http://www.simplemachines.org/ Какой из них предпочесть и главное, на что нужно обратить внимание при выборе хостинга, чтобы быть уверенным что выбранный движок на нем будет работать. Спасибо.