Помощь Как удалить старые, повторяющиеся новости и отсортировать их, база 600 мб

Тема в разделе "DLE", создана пользователем droncs, 15 ноя 2010.

Информация :
Актуальная версия DataLife Engine 11.2
( Final Release v.11.2 | Скачать DataLife Engine | Скачать 11.2 demo )
Нужно ли обновляться | Как обновиться | Изменения в шаблонах
> Нет русских символов <
[Приватная тема DLE (Все подробности в ЛС к модератору раздела)]

Версии 10.0 и ниже - уязвимы!

Локализации | F.A.Q. | Внешний вид
Правила раздела | Правила форума
Обсуждение хайда карается баном!
В каждом сообщении указывайте версию DLE, которого они касаются!
Статус темы:
Закрыта.
Модераторы: killoff
  1. droncs

    droncs Постоялец

    Регистр.:
    12 сен 2008
    Сообщения:
    64
    Симпатии:
    0
    Как удалить старые, повторяющиеся новости, движок 7.3?
    Думаю SQL запрос проще написать?

    У меня много новостей, как отсортировать базу dle 600 мб

    Мне уже давали запрос delete FROM dle_post WHERE (`autor` NOT LIKE 'admin' AND `autor` NOT LIKE 'admin1' AND `autor` NOT LIKE 'admin3') AND `date` < '2009-01-01 00:00:01' но не подходит
     
  2. -=ZorG=-

    -=ZorG=-

    Регистр.:
    18 авг 2010
    Сообщения:
    262
    Симпатии:
    47
    Можно через "Мастер оптимизации".
     
  3. cocucka

    cocucka

    Регистр.:
    14 июн 2006
    Сообщения:
    203
    Симпатии:
    147
    Дупликаты новостей

    Есть скрипт,его уже здесь описывали:
    Код:
    <? 
    $user='имя юзера'; 
    $pass='пароль'; 
    $base='имя БД'; 
    $rest=1; 
    
    $tip='title'; 
    $pole='dle_post'; 
    $info=0; 
    
    $link = mysql_connect("localhost", "$user", "$pass")  
    or die (mysql_error()); 
    mysql_select_db ("$base") or die (mysql_error()); 
    
    $sql = "SELECT $tip, id FROM $pole"; 
    $result = mysql_query($sql); 
    while ($r = mysql_fetch_assoc($result)) 
    { 
    if($real[$r[$tip]]) 
    { 
    if($rest) 
    { 
    mysql_query("DELETE FROM $pole WHERE id=$r[id]"); 
    $info++; 
    } 
    else 
    { 
    $info.= $r[$tip]."n"; 
    } 
    } 
    else 
    { 
    $real[$r[$tip]]=$r[id]; 
    } 
    } 
    echo "Удалено <b>".$info."</b> дубляжей.<br />"; 
    if($info == 0)echo "Вы хорошо следите за Вашим сайтом!"; 
    else echo "Больше внимания уделяйте Вашему сайту. Следите за мусором!"; 
    mysql_close($link); 
    ?>
     
    jcrush нравится это.
  4. droncs

    droncs Постоялец

    Регистр.:
    12 сен 2008
    Сообщения:
    64
    Симпатии:
    0
    Можете дать ссылку что делает этот код?
     
  5. cocucka

    cocucka

    Регистр.:
    14 июн 2006
    Сообщения:
    203
    Симпатии:
    147
    Удаляет новости с одинаковыми заголовками,т.е. - дубляжи
     
  6. droncs

    droncs Постоялец

    Регистр.:
    12 сен 2008
    Сообщения:
    64
    Симпатии:
    0
    Как еще прикурить это запрос чтобы удалял кроме новостей админов ?
    delete FROM dle_post WHERE `autor` NOT LIKE 'admin, admin2, admin3'
     
  7. Tibald

    Tibald

    Регистр.:
    16 окт 2007
    Сообщения:
    166
    Симпатии:
    64
    Поставьте себе Navicat и отфильтруйте через Sort и Filter по дате, а потом віделите и удалите :)
     
  8. droncs

    droncs Постоялец

    Регистр.:
    12 сен 2008
    Сообщения:
    64
    Симпатии:
    0
    Нужно удалить дубликаты новостей кроме админов, кто-нибудь поможет?
     
  9. ZCFD

    ZCFD

    Регистр.:
    16 янв 2008
    Сообщения:
    989
    Симпатии:
    437
    так дубликаты удалить или новости не от админов?
     
  10. Relikt

    Relikt Постоялец

    Регистр.:
    8 май 2007
    Сообщения:
    123
    Симпатии:
    5
    ВРЕМЯ

    Вопрос в том сколько этот скрипт будет тратить врмени... я попробовал... сайт тормозит жутко... время выгрузки страниц увеличилось чуть ли не в 5 раз.
     
Статус темы:
Закрыта.