livetv

Рейтинг
267
Регистрация
10.02.2015

1. Может Вы скармливате фильтру иностранные слова? :)

2. Для юникода есть модификатор u у регулярок:

preg_match_all("#\b".$k."(?:es|s)?\b#usi",$txt, $matches, PREG_SET_ORDER);

Я на некоторых сайтах забанил его.

Смысла 0.

Нагрузку создает приличную, а трафика дает вообще кот наплакал.

1-2 юзера в день :)

Кмк, с т. зрения СЕО - плевать.

Есть нюансы разве с куками.

Лично меня кумарит вводить WWW, это как бы признак старины, 90-ых. :)

Главное, чтобы один и тот же сайт не открывался на обоих.

Нужно сделать переадресацию.

Если сайт работает на WWW, то некоторые бараны забывают сделать переадресацию с без WWW на него.

WebAlt:
сначала нужно назначить новый домен главным зеркалом и дождаться склейки зеркал, и только потом редиректы, а не наоборот.
Указать адрес главного зеркала вы можете двумя способами
Установить постоянный серверный редирект с HTTP-кодом 301.
Чтобы склеить зеркала, роботу Яндекса достаточно директивы Host в файлах robots.txt для всех зеркал. Редирект настраивать необязательно.

В справке гугле вообще полуерунда. :)

Установите nginx из репозитория nginx и не выдумывайте...

EXPLAIN-ы как бы одинаковые.

Только я хз, почему

в первой таблице "const 1 Using temporary"

То есть выбирается по индексу 1 строка, но используются временные таблицы :)

Можно запрос переписать так:


SELECT
P.ID
FROM
wp_posts P
JOIN
wp_term_relationships R ON (R.object_id = P.ID)
JOIN
wp_term_taxonomy T ON (T.term_taxonomy_id = R.term_taxonomy_id AND T.term_id = 685)
WHERE
1
AND P.post_status = 'publish'
AND P.post_type = 'post'
AND P.post_date < NOW()
GROUP BY
P.ID

Mysql c какой-то версии имеет тип поля JSON.

То есть можно фильтровать более менее нативно.

Но вот индексов по нему не построить :)

Может все же JOIN-нить несколько таблиц?

Это самописный запрос или CMS его сама генерирует?


SELECT
DISTINCT P.ID
FROM
wp_posts P
JOIN
wp_term_relationships R ON (R.object_id = P.ID)
JOIN
wp_term_taxonomy T ON (T.term_taxonomy_id = R.term_taxonomy_id AND T.term_id = 685)
WHERE
1
AND P.post_status = 'publish'
AND P.post_type = 'post'
AND P.post_date < NOW()

Какой EXPLAIN у Вашего и моего запроса?

1. Запрос не полный

2. SHOW PROCESSLIST в Mysql вряд ли адекватный :)

3. Вы отключили временные таблицы в памяти, они будут создаваться сразу на диске.

4. EXPLAIN в студию

FROM wp_term_taxonomy, wp_posts, wp_term_relationships

Так запросы не пишут!

Тут может быть полное объединение таблиц :)

Нужно использовать JOIN:

FROM 

wp_posts P
JOIN
wp_term_relationships R ON (R.some_field = P.some_field)
JOIN
wp_term_taxonomy T ON (T.some_field = R.some_field)

Если помогло, то ок. :)

У самого часто висят запросы с такой информацией в SHOW PROCESSLIST.

Дивно, что отключение временные таблиц в памяти решило проблему. :)

Всего: 2584