© 2008 www.yoursait.ru mail: admin [at] yoursait.ru
Как пользоваться системой сбора статистики Awstats...далее
 
 
 
 
 
Краткое описание языков PHP, PERL, Ruby on Rails...далее
Основы Эл. Почты. Преимущества и возможности...далее
Управление веб-сервером Apache с помощью механизма .htaccess ..далее
Оптимальное использование MySQL...далее
Резервное копирование баз MySQL..далее
Полезные статьи :
Хостинг, использование хостинга, советы новичкам.
 
Новости :
США лидируют по количеству сайтов с вредоносным ПО

Процентное содержание электронных писем с вредоносными вложениями в почтовом трафике (график Sophos)
Согласно представленным данным, в уходящем году больше всего сайтов с вредоносным программным обеспечением — 37% — располагалось на американских серверах. Второе место в рейтинге Sophos занимает Китай, на долю которого пришлось 27,7% потенциально опасных веб-страниц. Замыкает тройку антилидеров Россия с 9,1% от общего количества сайтов с вредоносным ПО. Далее в порядке убывания числа вредоносных ресурсов в списке Sophos следуют Германия (2,3%), Южная Корея (2,1%), Украина (1,8%), Великобритания (1,7%), Турция (1,5%), Чешская Республика (1,3%) и Таиланд (1,2%). Меньше всего опасных сайтов в Сингапуре — 0,3%.

Компания Sophos также отмечает, что в уходящем году Соединенные Штаты лидировали и по объемам распространяемого спама. Сегодня через компьютеры на территории США рассылается 17,5% всех спам-писем. Некоторое сокращение объемов спама было отмечено в конце осени в связи с закрытием американского хостинг-провайдера McColo, на ресурсах которого работали командные центры нескольких крупнейших ботнетов.
Согласно исследованию Sophos, мошенники все чаще атакуют пользователей социальных сетей, а количество писем с вредоносными вложениями за год выросло в пять раз. Вместе с тем в 2008 году одним из основных инструментов распространения вредоносных программ стали съемные носители.
Оптимизация данных в PostgreSQL
PostgreSQL создает для каждого запроса план выполнения на основе оценки "стоимости" выборки и просмотра данных. Последовательный просмотр всех строк таблицы по мере увеличения количества строк становится слишком дорогостоящим.

Команда EXPLAIN

Для определения стоимости в PostgrSQL существует команда EXPLAIN, ниже приведен пример:

mydb=# EXPLAIN SELECT * FROM words WHERE word='multi';
NOTIE: QUERY PLAN:

Seq Scan on words (cost=0.00..22.50 rows=10 width=12)

EXPLAIN

mydb=#

Этот запросы выполнен на тестовой базе в 45.000 строк со словами (обычный словарь), как видно максимальная стоимость такого запроса 22,5, однако это далеко не так.

Команда VACUUM

Если в этой же базе выполнить команду VACUUM, а потом снова EXPLANI запроса

mydb=# VACUUM ANALYZE words;
VACUUM

mydb=# EXPLAIN SELECT * FROM words WHERE word='multi';
NOTIE: QUERY PLAN:

Seq Scan on words (cost=0.00..843.59 rows=10 width=12)

EXPLAIN

mydb=#

Теперь стоимость запроса поднялась до 843, все потому что при первом выполнении мы использовали старую статистику а команда VACUUM позволила её обновить а как результат более точная оценка запроса. Особенно эта команда актуальна после множества изменений (INSERT/UPDATE и т.п.) в таблице.


Комманда CREATE INDEX

Для ускорения этого запроса можно построить индексы, т.к. затраты на просмотр индексов значительно меньше чем полный перебор.

Создание индекса:

CREATE [unique] INDEX indexname ON table(column)

Параметр unique указывает, что индексируемый столбец не содержит повторяющихся записей, все строки имеют уникальные значения в данном столбце. Используйте этот параметр (unique) только в случае полной уверенности в том, что в столбце никогда не появятся повторяющиеся данные. Например:

mydb=# CREATE INDEX words_idx ON words(word);
CREATE

Теперь посмотрим на план запроса:

mydb=# EXPLAIN SELECT * FROM words WHERE word='multi';
NOTIE: QUERY PLAN:

Seq Scan on words (cost=0.00..2.09 rows=10 width=12)

EXPLAIN

mydb=#

Такой запрос будет выполнен практически мгновенно, в отличии от 843 когда наблюдается существенная задержка.

Всегда стоит рассматривать создание индексов для:

* Таблиц, состоящих из большого количества редко обновляющихся строк.
* Столбцов, не являющихся первичными или внешними ключами, которые могут использоваться в сложных объединениях.
* Столбцов, которые будут просматриваться в поиске точного совпадения префиксов.

Разумеется в оптимизации хороша "золотая середина" так как от создания индексов есть и отрицательный момент - большое количество потребляемого места, а оно разумеется не резиновое.