|
Слишком долгое выполнение запроса
#39041034
Ссылка:
Ссылка на сообщение:
Ссылка с названием темы:
|
|
|
|
Отображение строк 0 - 24 1510 всего, Запрос занял 0.3212 сек.
Что получается очень долго. Добавив пару индексов я сократил время на 0.2 секунды
Но все же это очень долго. Помогите как упростить запрос не могу или более грамотно его собрать. Результаты explain тоже приложил. Может такие запросы нужно кэшировать. Просто пока не до конца догоняю, как исправить ситуацию
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29.
SELECT
plitka_tovar.Kollekciya,
plitka_tovar.img,
interior_goods.link
FROM
plitka_tovar,
_article,
interior_point,
interior_goods
WHERE
plitka_tovar.id IN (
SELECT
id_product
FROM
`kuzia-kac_forms`.plitka_tovar_oblasty_primeneniya
WHERE
id_cut IN(
SELECT
id_cut
FROM
`kuzia-kac_forms`.plitka_category_oblasty_primeneniya
WHERE
id_product = '6'
)
)
AND _article.id_part = '18'
AND _article.id_product = plitka_tovar.id
AND interior_point.id = _article.id
AND interior_goods.id = interior_point.id_goods
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179.
CREATE TABLE IF NOT EXISTS `interior_goods` (
`id` int(11) NOT NULL,
`id_part` int(11) NOT NULL,
`name` varchar(60) NOT NULL,
`link` varchar(60) NOT NULL,
`tags` varchar(3000) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Структура таблицы `interior_point`
--
CREATE TABLE IF NOT EXISTS `interior_point` (
`id` int(11) NOT NULL,
`id_goods` int(11) NOT NULL,
`article` int(11) NOT NULL,
`posx` varchar(15) NOT NULL,
`posy` varchar(15) NOT NULL,
`point_part` int(11) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Структура таблицы `plitka_kollekciya`
--
CREATE TABLE IF NOT EXISTS `plitka_kollekciya` (
`id` int(11) NOT NULL,
`Fabrika` int(11) NOT NULL,
`Nazvanie` varchar(60) NOT NULL,
`Polnoe_nazvanie` varchar(100) NOT NULL,
`Opisanie` text NOT NULL,
`pdf_fayl` varchar(60) NOT NULL,
`Nomera_vizualizaciy` text NOT NULL,
`title` varchar(500) NOT NULL,
`description` varchar(500) NOT NULL,
`keywords` varchar(500) NOT NULL,
`divh1` varchar(500) NOT NULL,
`tags` varchar(2000) NOT NULL,
`Tehnicheskiy_keramogranit` varchar(3) NOT NULL,
`out_of_production` set('Да','Нет') NOT NULL,
`novelty` set('Да','Нет') NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Структура таблицы `plitka_tovar`
--
CREATE TABLE IF NOT EXISTS `plitka_tovar` (
`id` int(11) NOT NULL,
`Fabrika` int(11) NOT NULL,
`Kollekciya` int(11) NOT NULL,
`Nazvanie` varchar(100) NOT NULL,
`Material` int(11) NOT NULL,
`Poverhnosty` int(11) NOT NULL,
`Stily` int(11) NOT NULL,
`Tekstura` int(11) NOT NULL,
`Tip` int(11) NOT NULL,
`Vid_izdeliya` int(11) NOT NULL,
`Kratnosty` varchar(30) NOT NULL,
`S_Facetom(Kabanchik)` varchar(30) NOT NULL,
`Tehnicheskiy_keramogranit` varchar(30) NOT NULL,
`Tonkiy_keramogranit` varchar(30) NOT NULL,
`title` varchar(500) NOT NULL,
`description` varchar(500) NOT NULL,
`keywords` varchar(500) NOT NULL,
`divh1` varchar(500) NOT NULL,
`tags` varchar(2000) NOT NULL,
`size1` float NOT NULL,
`size2` float NOT NULL,
`size3` float NOT NULL,
`img` varchar(120) NOT NULL,
`f_sht` varchar(6) NOT NULL,
`f_m2` varchar(6) NOT NULL,
`f_kg` varchar(6) NOT NULL,
`f_kor` varchar(6) NOT NULL,
`f_kor_m2` varchar(6) NOT NULL,
`sizeP1` varchar(5) NOT NULL,
`sizeP2` varchar(5) NOT NULL,
`sizeP3` varchar(5) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Структура таблицы `plitka_tovar_oblasty_primeneniya`
--
CREATE TABLE IF NOT EXISTS `plitka_tovar_oblasty_primeneniya` (
`id_cut` int(11) NOT NULL,
`id_product` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Структура таблицы `_article`
--
CREATE TABLE IF NOT EXISTS `_article` (
`id` int(11) NOT NULL,
`id_product` int(11) NOT NULL,
`id_part` int(11) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
--
-- Индексы сохранённых таблиц
--
--
-- Индексы таблицы `interior_goods`
--
ALTER TABLE `interior_goods`
ADD PRIMARY KEY (`id`),
ADD KEY `id` (`id`),
ADD KEY `id_2` (`id`);
--
-- Индексы таблицы `interior_point`
--
ALTER TABLE `interior_point`
ADD PRIMARY KEY (`id`),
ADD KEY `article` (`article`);
--
-- Индексы таблицы `plitka_kollekciya`
--
ALTER TABLE `plitka_kollekciya`
ADD PRIMARY KEY (`id`);
--
-- Индексы таблицы `plitka_tovar`
--
ALTER TABLE `plitka_tovar`
ADD PRIMARY KEY (`id`),
ADD KEY `id` (`id`);
--
-- Индексы таблицы `_article`
--
ALTER TABLE `_article`
ADD PRIMARY KEY (`id`),
ADD KEY `id` (`id`),
ADD KEY `id_product` (`id_product`,`id_part`);
--
-- AUTO_INCREMENT для сохранённых таблиц
--
--
-- AUTO_INCREMENT для таблицы `interior_goods`
--
ALTER TABLE `interior_goods`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT для таблицы `interior_point`
--
ALTER TABLE `interior_point`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT для таблицы `plitka_kollekciya`
--
ALTER TABLE `plitka_kollekciya`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT для таблицы `plitka_tovar`
--
ALTER TABLE `plitka_tovar`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT для таблицы `_article`
--
ALTER TABLE `_article`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
|
|
|