В локале полный дамп базы - все летает. На хостинге висим в глушняк (504я). На первый взгляд все "как всегда" но бьюсь 2й день. Все подвисает. Итак:
SELECT * FROM nt_order_info
INNER JOIN stb_pass sp ON j_user_id = customer_id
ORDER BY date_order ASC LIMIT 0,20
Одна таблица nt_order_info 18к записей, другая stb_pass 56к. Не пустые таблицы, но не критичный размер-то. А вешает меня ORDER BY по дате. Без него чуть меньше секунды, тоже дофига, но сойдет. Сама по себе таблица ( nt_order_info) без join с другой сортируется нормально, без тормозов излишних. Более того, по тому же customer_id присоединяю другую таблицу (occustomer, на 43к записей) с той же сортировкой ORDER BY date_order - летаем. Ну и на последок - таблицы occustomer и stb_pass джойнятся (правда без сортировки, ибо дата осталась в первой таблице) тоже без проблем.
Что еще. Почитал статью про strait_join (https://habrahabr.ru/post/138163/) - не помогло. Пробовал обе сделать MyISAM или обе MyISAM - неа...
CREATE TABLE `nt_order_info` (
`id_order` int(11) NOT NULL AUTO_INCREMENT,
`date_order` int(11) NOT NULL,
`button` varchar(256) NOT NULL,
`id_status` int(11) NOT NULL,
`name` varchar(256) NOT NULL,
`mail` varchar(256) NOT NULL,
`phone` varchar(256) NOT NULL,
`call_time` varchar(256) NOT NULL,
`question` text NOT NULL,
`refer` varchar(256) NOT NULL,
`ip` varchar(256) NOT NULL,
`utm` text NOT NULL,
`comments` text NOT NULL,
`customer_id` int(11) NOT NULL,
PRIMARY KEY (`id_order`) ) ENGINE=MyISAM AUTO_INCREMENT=18119 /*!40101 DEFAULT CHARSET=utf8 */;
CREATE TABLE `stb_pass` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`stb_login` int(11) NOT NULL,
`stb_password` int(11) NOT NULL,
`j_user_id` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=70132 /*!40101 DEFAULT CHARSET=cp1251 */;
CREATE TABLE `occustomer` (
`customer_id` int(11) NOT NULL AUTO_INCREMENT,
`store_id` int(11) NOT NULL DEFAULT '0',
`firstname` varchar(32) NOT NULL DEFAULT '',
`lastname` varchar(32) NOT NULL DEFAULT '',
`email` varchar(96) NOT NULL DEFAULT '',
`telephone` varchar(32) NOT NULL DEFAULT '',
`fax` varchar(32) NOT NULL DEFAULT '',
`password` varchar(40) NOT NULL DEFAULT '',
`salt` varchar(9) NOT NULL DEFAULT '',
`cart` text,
`wishlist` text,
`newsletter` tinyint(1) NOT NULL DEFAULT '0',
`address_id` int(11) NOT NULL DEFAULT '0',
`customer_group_id` int(11) NOT NULL,
`ip` varchar(15) NOT NULL DEFAULT '0',
`status` tinyint(1) NOT NULL,
`approved` tinyint(1) NOT NULL,
`token` varchar(255) NOT NULL,
`date_added` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`cid` varchar(80) NOT NULL,
`cid_added` datetime NOT NULL,
`iso_country` varchar(2) NOT NULL,
`character` varchar(30) NOT NULL,
`comment` text NOT NULL,
PRIMARY KEY (`customer_id`)) ENGINE=MyISAM AUTO_INCREMENT=49421 /*!40101 DEFAULT CHARSET=utf8 */;
Локал explain:
Боевой explain:
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Каждый день при обновлении mysql вижу как она при этом распахивает окно и запускает терминал с выводом своего логаПросмотрел её настройки ничего...
Имею такую таблицу заказов: При каждом посещении сайта, выполняется такой запрос:
Есть класс MyGeneric<T> с полем aНужно создать метод public T Add(T obj) который реализует сумму Integer и конкатенацию строк String
Имеем такой тестовый кодПредполагается, что созданные классы должны отсортироваться в первом случае (LegComparator) по наибольшему количеству...