vxc
Новичок
Помогите оптимизировать SELECT
Помогите оптимизировать запрос. Посмотрел по логам - он самый медленный.
Есть таблица с 24к строк.
Организована "лента новостей", т.е. выводится 30 элементов подряд.
Идет запрос типа:
И соответственно когда у Limit первое число не маленькое, то время запроса от 0.1 до 1 секунды. Можно как-нибудь оптимизировать?
Будет ли правильнее использовать конструкцию
Update тоже не очень радует
Можно ли как-нибудь улучшить ситуацию?
Заранее благодарен.
Помогите оптимизировать запрос. Посмотрел по логам - он самый медленный.
Есть таблица с 24к строк.
PHP:
CREATE TABLE IF NOT EXISTS `data` (
`id` int(6) NOT NULL auto_increment,
`number` int(7) NOT NULL default '0',
`text` text NOT NULL,
`rate` int(6) NOT NULL default '0',
`date` varchar(20) default NULL,
`time` varchar(5) NOT NULL default '',
KEY `rate` (`rate`),
KEY `number` (`number`),
KEY `id` (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=23737 ;
Идет запрос типа:
PHP:
SELECT id,number,rate,date,time from data ORDER by id DESC limit 21000,30;
Будет ли правильнее использовать конструкцию
PHP:
SELECT id,number,rate,date,time from data where id<20130 AND id>20100 ORDER by id DESC
PHP:
UPDATE data SET rate='6921' where (number='405941');
Заранее благодарен.