|
|
|
Время обращения к базе данных
|
|||
|---|---|---|---|
|
#18+
У меня происходит медленное обращение к базе данных. Создал лог обращения и выяснилось, что к одной из таблиц БД происходитт очень долгое обращение, например: # Query_time: 3936.151959 Lock_time: 0.000327 Rows_sent: 1 Rows_examined: 0 Выделил этот запрос и получилось: 84154-# Time: 120910 5:40:31 84155-# User@Host: helpmyb8_helpmyb[helpmyb8_helpmyb] @ localhost [] 84156:# Query_time: 3936.151959 Lock_time: 0.000327 Rows_sent: 1 Rows_examined: 0 84157-SET timestamp=1347241231; 84158-SELECT COUNT(*) FROM (SELECT t.*, IFNULL( count(help.id), 0) as helpcount, (SELECT cat_id FROM hmb_blog_cat cc WHERE cc.blog_id=t.id ORDER BY cat_id ASC Limit 1) as first_cat FROM `hmb_blog` `t` LEFT JOIN hmb_blog_cat bc ON t.id=bc.blog_id что обращение к таблице hmb_blog_cat такое большое. Как это обращение уменьшить, ума не приложу... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2012, 15:32:17 |
|
||
|
Время обращения к базе данных
|
|||
|---|---|---|---|
|
#18+
Дайте текст запроса и его explain, что ли... а то по обрывку запроса ну ничего не сказать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2012, 15:40:24 |
|
||
|
Время обращения к базе данных
|
|||
|---|---|---|---|
|
#18+
Если честно, то понятия не имею, в каком файле этот запрос выполняется... Единственное, что могу предоставить, это файл скрипта, где идет выборка по рубрикам на сайте. Не судите строго, разработчик скриптов не я поэтому особо не знаю, где что находится, разработчик более недоступен: Код: php 1. 2. 3. 4. 5. 6. 7. и Код: php 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2012, 15:53:04 |
|
||
|
Время обращения к базе данных
|
|||
|---|---|---|---|
|
#18+
Оформляйте пост правильно, это увеличит шансы на получение ответа, в т.ч. используйте тэги SRC. Покажите весь запрос и его план. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2012, 15:53:56 |
|
||
|
Время обращения к базе данных
|
|||
|---|---|---|---|
|
#18+
Ну вот, пока меня тут отвлекали, опоздал... Но удалять не буду, т.к. актуальности не потеряло. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2012, 15:55:16 |
|
||
|
Время обращения к базе данных
|
|||
|---|---|---|---|
|
#18+
vadimon Код: sql 1. 2. 3. 4. 5. 6. 7. а запрос-то до конца не дописан... даже если дорисовать оставшиеся 2 джойна. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2012, 16:06:06 |
|
||
|
Время обращения к базе данных
|
|||
|---|---|---|---|
|
#18+
Хм... Тогда приведу полный файл, откуда я взял этот запрос. Может что-то не дописал. Код: php 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. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. 191. 192. 193. 194. 195. 196. 197. 198. 199. 200. 201. 202. 203. 204. 205. 206. 207. 208. 209. 210. 211. 212. 213. 214. 215. 216. 217. 218. 219. 220. 221. 222. 223. 224. 225. 226. 227. 228. 229. 230. 231. 232. 233. 234. 235. 236. 237. 238. 239. 240. 241. 242. 243. 244. 245. 246. 247. 248. 249. 250. 251. 252. 253. 254. 255. 256. 257. 258. 259. 260. 261. 262. 263. 264. 265. 266. 267. 268. 269. 270. 271. 272. 273. 274. 275. 276. 277. 278. 279. 280. 281. 282. 283. 284. 285. 286. 287. 288. 289. 290. 291. 292. 293. 294. 295. 296. 297. 298. 299. 300. 301. 302. 303. 304. 305. 306. 307. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2012, 16:09:38 |
|
||
|
Время обращения к базе данных
|
|||
|---|---|---|---|
|
#18+
Это тоже не все. Например, я не вижу строки "COUNT(*)", которая есть в конечном запросе. Лучше включите полное логирование (query log) всех запросов в MySQL. Возможно, там этот запрос не обрежется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2012, 16:13:05 |
|
||
|
Время обращения к базе данных
|
|||
|---|---|---|---|
|
#18+
Правда, не очень ясно что вы тут сможете сделать, если не ориентируетесь в коде. Запрос явно нужно переписывать и это явно сложнее, чем просто изменить его текст в скрипте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2012, 16:16:07 |
|
||
|
Время обращения к базе данных
|
|||
|---|---|---|---|
|
#18+
Вот она, цена "универсализации"... Код: sql 1. 2. 3. 4. 5. 6. 7. 8. Вместо того, чтобы написать прямой каунт, ваше (теперь ведь оно ваше) чудо делает подзапрос, из которого считает каунт. Причём в этом подзапросе - от которого не нужно ничего, кроме количества записей - выполняются ещё другие расчёты. Нахрена? Наверное, потому что проще у "разраба" "нипалусилася". vadimon, из этой пхпшной каши текст запроса составлять за вас никто не будет . Вытаскивайте сами, тогда вам ответят, как его переписать. Лично я вижу как минимум избавление от подзапроса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2012, 16:17:29 |
|
||
|
Время обращения к базе данных
|
|||
|---|---|---|---|
|
#18+
miksoftЭто тоже не все. Например, я не вижу строки "COUNT(*)", которая есть в конечном запросе. [ Код: sql 1. Вот так афтары того фреймворка считают каунт. Оборачивая всё, что под ним, в отдельный запрос. Малаццы, что ещё сказать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2012, 16:18:38 |
|
||
|
Время обращения к базе данных
|
|||
|---|---|---|---|
|
#18+
Сайт сделан на платформе Yii Framework, я слышал, что у него в комплекте идет генератор кода, в том числе, видимо и запросы к БД тоже автоматически генерируюются... Что можете посоветовать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2012, 16:21:43 |
|
||
|
Время обращения к базе данных
|
|||
|---|---|---|---|
|
#18+
vadimonСайт сделан на платформе Yii Framework, я слышал, что у него в комплекте идет генератор кода, в том числе, видимо и запросы к БД тоже автоматически генерируюются... Что можете посоветовать?Могу предложить перенести топик в подфорум PHP. В текущем подфоруме я все равно его перспектив не вижу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2012, 16:25:55 |
|
||
|
Время обращения к базе данных
|
|||
|---|---|---|---|
|
#18+
miksoft, вы модератор? Если не сложно, то перенесите топик в подфорум PHP. Спасибо. Модератор: Тема перенесена из форума "MySQL". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2012, 16:28:31 |
|
||
|
Время обращения к базе данных
|
|||
|---|---|---|---|
|
#18+
vadimonСайт сделан на платформе Yii Framework, я слышал, что у него в комплекте идет генератор кода, в том числе, видимо и запросы к БД тоже автоматически генерируюются... Что можете посоветовать? таки можем посоветовать привести запрос целиком, его план и ddl таблиц. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2012, 16:47:07 |
|
||
|
Время обращения к базе данных
|
|||
|---|---|---|---|
|
#18+
Выше я выложил код, который смог найти. Где что лежит относительно запроса к БД больше не в курсе, я не разработчик. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2012, 16:49:34 |
|
||
|
Время обращения к базе данных
|
|||
|---|---|---|---|
|
#18+
а открыть дебаг тулбар в YII и посмотреть запросы тебе религия не позволяет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2012, 16:55:06 |
|
||
|
Время обращения к базе данных
|
|||
|---|---|---|---|
|
#18+
А вот если бы знал, где находится дебаг тулбар в Yii, думаю, дело бы уже давно сдвинулось с мертвой точки и проблема бы разрешшилась ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2012, 16:59:34 |
|
||
|
Время обращения к базе данных
|
|||
|---|---|---|---|
|
#18+
vadimonА вот если бы знал, где находится дебаг тулбар в Yii, думаю, дело бы уже давно сдвинулось с мертвой точки и проблема бы разрешшилась ) Наймите Yii разработчика. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2012, 17:03:50 |
|
||
|
Время обращения к базе данных
|
|||
|---|---|---|---|
|
#18+
или читайте про CLogRouter, enableProfiling, enableParamLogging ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2012, 17:04:36 |
|
||
|
Время обращения к базе данных
|
|||
|---|---|---|---|
|
#18+
HettvadimonА вот если бы знал, где находится дебаг тулбар в Yii, думаю, дело бы уже давно сдвинулось с мертвой точки и проблема бы разрешшилась ) Наймите Yii разработчика. Надо, конечно, но это будет еще не скоро. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2012, 18:10:32 |
|
||
|
Время обращения к базе данных
|
|||
|---|---|---|---|
|
#18+
vadimonScareCrow https://www.google.ru/search?q=%D0%B4%D0%B5%D0%B1%D0%B0%D0%B3+%D1%82%D1%83%D0%BB%D0%B1%D0%B0%D1%80+%D0%B2+YII&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US:official&client=firefox-a&channel=rcs Благодарю В частности http://www.yiiframework.com/extension/yii-debug-toolbar/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2012, 20:26:59 |
|
||
|
|

start [/forum/topic.php?fid=23&msg=37951296&tid=1464725]: |
0ms |
get settings: |
9ms |
get forum list: |
21ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
212ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
81ms |
get tp. blocked users: |
2ms |
| others: | 229ms |
| total: | 577ms |

| 0 / 0 |
