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

Форум MySQL

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

 

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

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

тема: Оптимизировать очень простой запрос
 
 автор: vdm   (16.03.2009 в 20:55)   письмо автору
 
 

как можно опимизировать запрос:


SELECT id as nid, text as ntext, date_format(date,'%d-%m-%Y') as ndate, date_format(date,'%H:%i:%s') as ntime FROM main WHERE type = 1 AND upid=2 ORDER BY date DESC LIMIT 90160,20;


Куда проще? Но. На базе с 120000 полей он выполняется 50 сек!. Почему???

  Ответить  
 
 автор: Temnovit   (16.03.2009 в 22:16)   письмо автору
 
   для: vdm   (16.03.2009 в 20:55)
 

Создайте для таблицы два индекса:
(type, upid)
(date)

Должно помочь.

  Ответить  
 
 автор: vdm   (16.03.2009 в 22:55)   письмо автору
 
   для: Temnovit   (16.03.2009 в 22:16)
 

Есть индексы. Только sql ими не пользуется почему то. Элементов в индексе type, upid всего 21.

  Ответить  
 
 автор: ols   (17.03.2009 в 13:30)   письмо автору
 
   для: vdm   (16.03.2009 в 22:55)
 

Приведите структуру таблицы

  Ответить  
 
 автор: vdm   (17.03.2009 в 18:26)   письмо автору
 
   для: ols   (17.03.2009 в 13:30)
 



CREATE TABLE IF NOT EXISTS `main` (
  `id` mediumint(9) NOT NULL auto_increment,
  `upid` int(9) NOT NULL default '0',
  `level` tinyint(4) NOT NULL default '0',
  `type` tinyint(1) NOT NULL default '0',
  `date` datetime NOT NULL default '0000-00-00 00:00:00',
  `text` text NOT NULL,
  `autor` varchar(50) NOT NULL default '',
  PRIMARY KEY  (`id`),
  KEY `date` (`date`),
  KEY `type` (`type`,`upid`),
  FULLTEXT KEY `text` (`text`)
) TYPE=MyISAM AUTO_INCREMENT=133115 ;


  Ответить  
Rambler's Top100
вверх

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