mariadb 10.11.10 < /p>
У меня есть сайт электронной коммерции Cart Cart (я полагаю, вариант Oscommerce) на стеке ламп с одной пользовательской таблицей (одна из которых я создал) присоединился к Продукты основного продукта Таблица. Это работает на производственной системе без проблем с производительностью во время обычных операций, в качестве сайта электронной коммерции это в основном выбирает запросы на эти же таблицы, выполняемые в течение хорошего времени. Обновите запрос, чтобы изменить поле Products_sort_order на новое значение. Все поля индексируются, в обеих таблицах индексируется в обеих таблицах, а также три поля Varchar, которые я указываю в пункте «Где» также индексируются. Обе таблицы используют один и тот же двигатель, Myisam. Почему этот запрос на обновление так медленно? < /P>
MariaDB [premier158]> UPDATE products p
-> INNER JOIN product_premier_extra pe USING (products_id)
-> SET products_sort_order = 1000
-> WHERE model = 'splashback'
-> AND style = 'digital'
-> AND variation = 'Liquid Lava';
Query OK, 0 rows affected (4.566 sec)
Rows matched: 51 Changed: 0 Warnings: 0
Время выполнения второго запроса 4.566 - это проблема. >
explain UPDATE products p
INNER JOIN product_premier_extra pe USING (products_id)
SET products_sort_order = 1000
WHERE model = 'splashback'
AND style = 'digital'
AND variation = 'Liquid Lava';
1 SIMPLE pe ref idx_product_premier_id,idx_product_premier_extra_fields idx_product_premier_extra_fields 906 const,const,const 32 Using where
1 SIMPLE p eq_ref PRIMARY PRIMARY 4 premier158.pe.products_id 1
Таблицы имеют 17К строк в каждом (это отношение 1: 1 на продуктах_ид ), так что не большой объем.
Создать таблицу Вывод показывает индексы, важными являются то, что products_id индексируется как в обоих, так и в остальных трех полях Model , style , variation в соединенной таблице product_premier_extra также индексируются (см. Использование IDX_PRODUCT_PREMIER_EXTRA_FIELDS в плане объяснения выше). Все эти столбцы не являются null .
Я читал различные другие посты, касающиеся медленных запросов, это, как правило, снижается до двух случаев, 1/плохо индексированные данные 2/ Массовые объемы данных. Двигатель не подходит или плохо настроен. Здесь не так. Используемые системы высокой производительности без базовых аппаратных проблем. Создайте вывод таблицы здесь, но это довольно длинное: < /p>
CREATE TABLE `products` (
`products_id` int(11) NOT NULL AUTO_INCREMENT,
`products_type` int(11) NOT NULL DEFAULT 1,
`products_quantity` float NOT NULL DEFAULT 0,
`products_model` varchar(64) DEFAULT NULL,
`products_image` varchar(255) DEFAULT NULL,
`products_price` decimal(15,4) NOT NULL DEFAULT 0.0000,
`products_virtual` tinyint(1) NOT NULL DEFAULT 0,
`products_date_added` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
`products_last_modified` datetime DEFAULT NULL,
`products_date_available` datetime DEFAULT NULL,
`products_weight` float NOT NULL DEFAULT 0,
`products_status` tinyint(1) NOT NULL DEFAULT 0,
`products_tax_class_id` int(11) NOT NULL DEFAULT 0,
`manufacturers_id` int(11) DEFAULT NULL,
`products_ordered` float NOT NULL DEFAULT 0,
`products_quantity_order_min` float NOT NULL DEFAULT 1,
`products_quantity_order_units` float NOT NULL DEFAULT 1,
`products_priced_by_attribute` tinyint(1) NOT NULL DEFAULT 0,
`product_is_free` tinyint(1) NOT NULL DEFAULT 0,
`product_is_call` tinyint(1) NOT NULL DEFAULT 0,
`products_quantity_mixed` tinyint(1) NOT NULL DEFAULT 0,
`product_is_always_free_shipping` tinyint(1) NOT NULL DEFAULT 0,
`products_qty_box_status` tinyint(1) NOT NULL DEFAULT 1,
`products_quantity_order_max` float NOT NULL DEFAULT 0,
`products_sort_order` int(11) NOT NULL DEFAULT 0,
`products_discount_type` tinyint(1) NOT NULL DEFAULT 0,
`products_discount_type_from` tinyint(1) NOT NULL DEFAULT 0,
`products_price_sorter` decimal(15,4) NOT NULL DEFAULT 0.0000,
`master_categories_id` int(11) NOT NULL DEFAULT 0,
`products_mixed_discount_quantity` tinyint(1) NOT NULL DEFAULT 1,
`metatags_title_status` tinyint(1) NOT NULL DEFAULT 0,
`metatags_products_name_status` tinyint(1) NOT NULL DEFAULT 0,
`metatags_model_status` tinyint(1) NOT NULL DEFAULT 0,
`metatags_price_status` tinyint(1) NOT NULL DEFAULT 0,
`metatags_title_tagline_status` tinyint(1) NOT NULL DEFAULT 0,
`products_sku` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
PRIMARY KEY (`products_id`),
KEY `idx_products_date_added_zen` (`products_date_added`),
KEY `idx_products_status_zen` (`products_status`),
KEY `idx_products_date_available_zen` (`products_date_available`),
KEY `idx_products_ordered_zen` (`products_ordered`),
KEY `idx_products_model_zen` (`products_model`),
KEY `idx_products_price_sorter_zen` (`products_price_sorter`),
KEY `idx_master_categories_id_zen` (`master_categories_id`),
KEY `idx_products_sort_order_zen` (`products_sort_order`),
KEY `idx_manufacturers_id_zen` (`manufacturers_id`),
KEY `idx_products_products_sku` (`products_sku`)
) ENGINE=MyISAM AUTO_INCREMENT=32083 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
< /code>
CREATE TABLE `product_premier_extra` (
`products_id` int(11) NOT NULL,
`features` varchar(3000) NOT NULL,
`specifications` varchar(3000) NOT NULL,
`dimensions` varchar(3000) NOT NULL,
`diagram` varchar(100) NOT NULL,
`model` varchar(100) NOT NULL,
`style` varchar(100) NOT NULL,
`variation` varchar(100) NOT NULL,
`width` int(11) DEFAULT NULL,
`height` int(11) DEFAULT NULL,
UNIQUE KEY `idx_product_premier_id` (`products_id`),
KEY `idx_product_premier_extra_fields` (`model`,`style`,`variation`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
Подробнее здесь: https://stackoverflow.com/questions/794 ... r-join-can
Медленное (5 секунд) обновление MySQL с использованием индексированных столбцов и разумного внутреннего соединения, не м ⇐ MySql
Форум по Mysql
1739776652
Anonymous
mariadb 10.11.10 < /p>
У меня есть сайт электронной коммерции Cart Cart (я полагаю, вариант Oscommerce) на стеке ламп с одной пользовательской таблицей (одна из которых я создал) присоединился к Продукты основного продукта Таблица. Это работает на производственной системе без проблем с производительностью во время обычных операций, в качестве сайта электронной коммерции это в основном выбирает запросы на эти же таблицы, выполняемые в течение хорошего времени. Обновите запрос, чтобы изменить поле Products_sort_order на новое значение. Все поля индексируются, в обеих таблицах индексируется в обеих таблицах, а также три поля Varchar, которые я указываю в пункте «Где» также индексируются. Обе таблицы используют один и тот же двигатель, Myisam. Почему этот запрос на обновление так медленно? < /P>
MariaDB [premier158]> UPDATE products p
-> INNER JOIN product_premier_extra pe USING (products_id)
-> SET products_sort_order = 1000
-> WHERE model = 'splashback'
-> AND style = 'digital'
-> AND variation = 'Liquid Lava';
Query OK, 0 rows affected (4.566 sec)
Rows matched: 51 Changed: 0 Warnings: 0
Время выполнения второго запроса 4.566 - это проблема. >
explain UPDATE products p
INNER JOIN product_premier_extra pe USING (products_id)
SET products_sort_order = 1000
WHERE model = 'splashback'
AND style = 'digital'
AND variation = 'Liquid Lava';
1 SIMPLE pe ref idx_product_premier_id,idx_product_premier_extra_fields idx_product_premier_extra_fields 906 const,const,const 32 Using where
1 SIMPLE p eq_ref PRIMARY PRIMARY 4 premier158.pe.products_id 1
Таблицы имеют 17К строк в каждом (это отношение 1: 1 на продуктах_ид ), так что не большой объем.
Создать таблицу Вывод показывает индексы, важными являются то, что products_id индексируется как в обоих, так и в остальных трех полях Model , style , variation в соединенной таблице product_premier_extra также индексируются (см. Использование IDX_PRODUCT_PREMIER_EXTRA_FIELDS в плане объяснения выше). Все эти столбцы не являются null .
Я читал различные другие посты, касающиеся медленных запросов, это, как правило, снижается до двух случаев, 1/плохо индексированные данные 2/ Массовые объемы данных. Двигатель не подходит или плохо настроен. Здесь не так. Используемые системы высокой производительности без базовых аппаратных проблем. Создайте вывод таблицы здесь, но это довольно длинное: < /p>
CREATE TABLE `products` (
`products_id` int(11) NOT NULL AUTO_INCREMENT,
`products_type` int(11) NOT NULL DEFAULT 1,
`products_quantity` float NOT NULL DEFAULT 0,
`products_model` varchar(64) DEFAULT NULL,
`products_image` varchar(255) DEFAULT NULL,
`products_price` decimal(15,4) NOT NULL DEFAULT 0.0000,
`products_virtual` tinyint(1) NOT NULL DEFAULT 0,
`products_date_added` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
`products_last_modified` datetime DEFAULT NULL,
`products_date_available` datetime DEFAULT NULL,
`products_weight` float NOT NULL DEFAULT 0,
`products_status` tinyint(1) NOT NULL DEFAULT 0,
`products_tax_class_id` int(11) NOT NULL DEFAULT 0,
`manufacturers_id` int(11) DEFAULT NULL,
`products_ordered` float NOT NULL DEFAULT 0,
`products_quantity_order_min` float NOT NULL DEFAULT 1,
`products_quantity_order_units` float NOT NULL DEFAULT 1,
`products_priced_by_attribute` tinyint(1) NOT NULL DEFAULT 0,
`product_is_free` tinyint(1) NOT NULL DEFAULT 0,
`product_is_call` tinyint(1) NOT NULL DEFAULT 0,
`products_quantity_mixed` tinyint(1) NOT NULL DEFAULT 0,
`product_is_always_free_shipping` tinyint(1) NOT NULL DEFAULT 0,
`products_qty_box_status` tinyint(1) NOT NULL DEFAULT 1,
`products_quantity_order_max` float NOT NULL DEFAULT 0,
`products_sort_order` int(11) NOT NULL DEFAULT 0,
`products_discount_type` tinyint(1) NOT NULL DEFAULT 0,
`products_discount_type_from` tinyint(1) NOT NULL DEFAULT 0,
`products_price_sorter` decimal(15,4) NOT NULL DEFAULT 0.0000,
`master_categories_id` int(11) NOT NULL DEFAULT 0,
`products_mixed_discount_quantity` tinyint(1) NOT NULL DEFAULT 1,
`metatags_title_status` tinyint(1) NOT NULL DEFAULT 0,
`metatags_products_name_status` tinyint(1) NOT NULL DEFAULT 0,
`metatags_model_status` tinyint(1) NOT NULL DEFAULT 0,
`metatags_price_status` tinyint(1) NOT NULL DEFAULT 0,
`metatags_title_tagline_status` tinyint(1) NOT NULL DEFAULT 0,
`products_sku` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
PRIMARY KEY (`products_id`),
KEY `idx_products_date_added_zen` (`products_date_added`),
KEY `idx_products_status_zen` (`products_status`),
KEY `idx_products_date_available_zen` (`products_date_available`),
KEY `idx_products_ordered_zen` (`products_ordered`),
KEY `idx_products_model_zen` (`products_model`),
KEY `idx_products_price_sorter_zen` (`products_price_sorter`),
KEY `idx_master_categories_id_zen` (`master_categories_id`),
KEY `idx_products_sort_order_zen` (`products_sort_order`),
KEY `idx_manufacturers_id_zen` (`manufacturers_id`),
KEY `idx_products_products_sku` (`products_sku`)
) ENGINE=MyISAM AUTO_INCREMENT=32083 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
< /code>
CREATE TABLE `product_premier_extra` (
`products_id` int(11) NOT NULL,
`features` varchar(3000) NOT NULL,
`specifications` varchar(3000) NOT NULL,
`dimensions` varchar(3000) NOT NULL,
`diagram` varchar(100) NOT NULL,
`model` varchar(100) NOT NULL,
`style` varchar(100) NOT NULL,
`variation` varchar(100) NOT NULL,
`width` int(11) DEFAULT NULL,
`height` int(11) DEFAULT NULL,
UNIQUE KEY `idx_product_premier_id` (`products_id`),
KEY `idx_product_premier_extra_fields` (`model`,`style`,`variation`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci
Подробнее здесь: [url]https://stackoverflow.com/questions/79444665/slow-5-seconds-mysql-update-using-indexed-columns-and-sensible-inner-join-can[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия