Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как оптимизировать таблицу
 
 автор: Alexx   (10.11.2007 в 13:32)   письмо автору
 
 

Структура таблицы новостей


id      int(11)    Нет      
ind      tinyint(1)    Нет     1 
title      varchar(240)    Да     NULL 
anonce      text    Да     NULL 
text      longtext    Да     NULL 
date      int(10)    Нет     0 
catalog      int(10)    Нет     0 
url      varchar(255)    Да     NULL



Сейчас в БД - 613503 новостей.

Запросы на поиск занимают очень много времени...
Что посоветуете сделать?

   
 
 автор: cheops   (10.11.2007 в 17:28)   письмо автору
 
   для: Alexx   (10.11.2007 в 13:32)
 

Ммм... все новости актуальные? Нельзя разбить таблицу хотя бы на попалам (архив и актуальные новости)?

   
 
 автор: ddhvvn   (10.11.2007 в 18:03)   письмо автору
 
   для: cheops   (10.11.2007 в 17:28)
 

613 тысяч новостей? Нефига се...
Это сайт РИА "Новости"? :)))

   
 
 автор: Alexx   (10.11.2007 в 21:39)   письмо автору
 
   для: ddhvvn   (10.11.2007 в 18:03)
 

Там не только Риа Новости но и Синьюс и ещё пару источников, планирую догнать до 2 000 000 новостей ;)

   
 
 автор: cheops   (11.11.2007 в 13:13)   письмо автору
 
   для: Alexx   (10.11.2007 в 21:39)
 

Хм... однако там наверняка имеются старые новости... можно разбить таблицу хотя бы по годам.

   
 
 автор: Alexx   (11.11.2007 в 14:26)   письмо автору
 
   для: cheops   (11.11.2007 в 13:13)
 

Хорошо, как сделать такое?

   
 
 автор: Alexx   (12.11.2007 в 20:36)   письмо автору
 
   для: Alexx   (11.11.2007 в 14:26)
 

ап

   
 
 автор: ddhvvn   (12.11.2007 в 20:39)   письмо автору
 
   для: Alexx   (12.11.2007 в 20:36)
 

Думаю, Хеопс имел ввиду, что можно одну таблицу разбить на множество таблиц... Одна таблица - это новости за один год!

   
 
 автор: Alexx   (10.11.2007 в 21:40)   письмо автору
 
   для: cheops   (10.11.2007 в 17:28)
 

Да новости все актуальные, но они нужны восновном для поиска. Тоесть поиск должен происходить по всем новостям. Что можно сделать?

   
 
 автор: ddhvvn   (10.11.2007 в 23:11)   письмо автору
 
   для: Alexx   (10.11.2007 в 21:40)
 

Это не реально.... 2 000 000 реальных новостей!

;))

   
 
 автор: provodnik   (12.11.2007 в 23:17)   письмо автору
 
   для: ddhvvn   (10.11.2007 в 23:11)
 

Как вариант, при выборке из БД первым делом исключать максимальное кол-во записей.
К примеру ввести критерий на поиск по дате, и дать возможность пользователю выбрать актуальность искомой информации. ИМХО если я буду где-то что-то искать, и если найду данные, стопятидесятишестилетней давности, то рад буду не особо (тем более у Вас "новости"). Я даже вспомнил Лебедева с его куроводством (было у него что-то про новости, их актуальность и необходимость хранения)
В одном форуме я еще делал так: ищем сначала по критериям посетителя. если не найдено ничего, то выводим чего-нибудь на страницу для подогрева терпения и запускаем без его ведома более глубокий и обширный поиск.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования