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

Форум MySQL

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

 

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

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

тема: Оптимизация запроса
 
 автор: Shorr Kan   (17.07.2016 в 11:34)   письмо автору
 
 

Здравствуйте.

Есть таблица 1. InnoDB. Данные разные. Объем около 150мб.

Есть таблица 2. MyISAM. Исключительно INT поля, столбцов 4 штуки. Объем около 400мб.

Во второй таблице много записей, по несколько десятков и сотен, которые привязаны к записям из первой таблицы. Т.е. на одну запись в тбл1 много записей в тбл2.

Селект построен довольно сложно:


<?
SELECT id FROM table1 WHERE 
....... 
AND 
(
EXISTS(SELECT 1 FROM table2 WHERE pid=table1.id AND column1 IN(1,2,3,4)) 
OR 
EXISTS(SELECT 1 FROM table2 WHERE pid=table1.id AND column2 IN(5,6,7,8))
)
?>


разумеется 1,2,3,4,5,6,7,8 - это просто для примера. Также этих EXISTS может быть несколько больше.

В связи с увеличением объема, запросы стали потихонку замедляться (сейчас они выполняются чуть больше секунды). Хотелось бы немного ускорить их. Возможно я что-то не учел? Может быть имеет смысл таблицу2 перенести как-то, может быть заменить тип, может что-то еще? Например в каком-то формате перенести множественнены записи из таблицы2 в отдельный столбец таблицы1 и искать их там при помощи LIKE, а не этих подзапросов (хотя, как я понимаю, это гораздо хуже)?

Изменения редки, т.е. в таблицу1 добавляется запись, затем связанные с ней записи в таблицу2, а потом, как правило, внесенные записи не меняются (или очень редко).

  Ответить  
 
 автор: LeonMoff   (17.09.2016 в 14:37)   письмо автору
 
   для: Shorr Kan   (17.07.2016 в 11:34)
 

Да вроде норм всё...

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

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