hrach

Рейтинг
122
Регистрация
21.08.2004
Должность
programer
Интересы
Internet
programer
alex_bn:
Подскажите, добавляю файл sitemap в гугл серч консоль, вылезает предупреждение:
"В файле Sitemap или файле индекса Sitemap неправильно указано пространство имен. Ожидалось: http://www.sitemaps.org/schemas/sitemap/0.9. Обнаружено: https://www.sitemaps.org/schemas/sitemap/0.9." Сайт добавлен с https, соответственно в карте тоже все ссылки с https. Почему ожидается карта сайта с http если сайт https ?

это пространство имен, там же написано. оно не имеет никакого отношения к вашему сайту и его протоколу. по сути это декларация (формат) xml файла (там же находится файлы схемы xml xsd).

Исправьте как требует гугл:

http://www.sitemaps.org/schemas/sitemap/0.9

hrach:
надо сначала вырезать, а потом пытаться создать файл.

замените/уберите спец символы (:,// и т.д.).
$fp = fopen(str_replace(':','',str_replace('/','',$line), "w+")) // проверьте кол-во скобок

ТС, я четко указал переменную в аргументах функции fopen!

Удачи.

HEMASTER:
Я делаю простенький парсер, поэтому название файлов должно быть как урл, я потом вырежу из этой переменной http:// и все лишнее.

надо сначала вырезать, а потом пытаться создать файл.

замените/уберите спец символы (:,// и т.д.).

$fp = fopen(str_replace(':','',str_replace('/','',$line), "w+")) // проверьте кол-во скобок

ключевое слово в моем комменте "покрывающий" - погуглите на эту тему.

после обработки запроса этот индекс можно удалить:)

создайте покрывающий индекс для агрегатной функции:

ALTER TABLE `comments` ADD KEY `object_id_created` (`object_id`,`created`) ;

explain select min(created) from comments group by object_id;
Dram:
Эти таблицы проиндексированы в доль и поперек ибо они самые ходовые на сайте. На всех полях индексы есть.
Эксплейн показывает что на скрине.

P.S. я попробовал добавить условие
решил обновлять по категориям. Эксплейн тут же показал сокращение графы DEPENDENT SUBQUERY с 300K до 4 !!!! Но все равно запрос виснет

так в подзапросе индексов нет/ не используется (using where - получаем все записи, потом начинаем "фильтровать" условие).

select min(comments.created) from `comments` where `object_group` = 'avto'

а где условие группировки?

скиньте скрипт создания таблицы (с индексами)

попробуйте просто селект/EXPLAIN сделать и посмотрите что там у вас с индексами.

select * from comments where firm_id=some_id order by data_comment

есть ли покрывающий индекс по firm_id и data comment для таблицы comments?

Dram:
Синтаксис неправильный, мускуль ругается

Вероятно нужно как то назначить таблицы по типу
база.firm AS t2 и т.п. , пробую найти примеры...

имя поля правильное подставьте (дата из таблицы комментов)

Dram:
Не вижу в вашем варианте "минус месяц" от даты коммента при обновлении поля крейтед у фирмы

ну -/+ вы можете добавить сами:) - я только принцип описал (выше написали как менять дату DATE_SUB)

Dram:
100% получится, но у меня знаний не хватает все это соединить в запрос.

как-то так (на мускуле не пробовал), пробуйте:

update table_firms  f

inner join (select firm_id,min(data_comment) from comments_table group by firm_id) c on f.firm_id = c.firm_id
set f.data_register = c.data_comment
Всего: 121