Имеется такая
MySQL-таблица:
CREATE TABLE IF NOT EXISTS `mails` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`to` varchar(255) NOT NULL,
`object` varchar(30) NOT NULL,
`data` text NOT NULL,
`temp_id` int(11) NOT NULL,
`mailing_id` int(11) NOT NULL,
`priority` tinyint(1) NOT NULL,
`send_time` datetime NOT NULL,
`error` tinyint(1) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
Таблица наполнена данными, сейчас порядка: 350 тыс. записей.
В цикле к данной таблице выполняется несколько тысяч запросов (3000-10000 штук) одного и того же вида:
SELECT `id`, `to` FROM `mails` WHERE (`to` LIKE 'info@mail.ru' OR `to` LIKE 'info@mail.ru,%' OR `to` LIKE '%,info@mail.ru' OR `to` LIKE '%,info@mail.ru,%') AND `mailing_id` = 172
Вопрос: как оптимизировать данный SQL-запрос (или саму MySQL-таблицу) для увеличения скорости его выполнения?
p.s.: запрос выполняется в
Yii 1.x через конструктор запросов: Yii::app()->db->createCommand()->select("id, to")->from('{{mails}}')....