Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Помощь в оптимизации таблицы + помошь в выборке всех записей из связанной таблицы
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. Нужен совет по оптимизации таблицы и дополнению. Имеется Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. Код: sql 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. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. Код: sql 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. Запрос рабочий. Хочу оптимизировать запрос SELECT, устранить ошибки которые по не знанию не могу или не вижу. Во-первых, не нравится вот это: (a.answer ='' OR a.answer IS NULL . Понимаю что тут можно как-то подругому, но не понимаю как. Если запись создается из программы, то a.answer, не NULL, а '', но наверняка можно сделать как-то проще без OR. Во-вторых, совета, может быть я могу как-то оптимизировать запрос используя неиспользуемые мной функции mysql Ну и самое важное. Нужно в запрос добавить через запятую все связанные данные из таблицы log. Связь происходит через a.id=log.tableId. Не знаю как это сделать. В идеале это должно быть внутри CONCAT_WS после ,if(a.answer ='' OR a.answer IS NULL,'',CONCAT_WS('','<br><small>⇐ ',a.answer,'</small>')) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2017, 14:11 |
|
||
|
Помощь в оптимизации таблицы + помошь в выборке всех записей из связанной таблицы
|
|||
|---|---|---|---|
|
#18+
Попробовал такой вот вариант: Код: sql 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. Но недостатком является то, что не у всех записей из таблицы couriers_holidays имеется запись в log, а значит выводятся только те у которых есть сопостовимые записи ((( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2017, 14:28 |
|
||
|
Помощь в оптимизации таблицы + помошь в выборке всех записей из связанной таблицы
|
|||
|---|---|---|---|
|
#18+
tonnazhнедостатком является то, что не у всех записей из таблицы couriers_holidays имеется запись в logЗначит, картезианка неприменима, только стороннее связывание (LEFT JOIN). tonnazhХочу оптимизировать запрос SELECT Нечего тут оптимизировать. Кроме создания правильного индекса. tonnazhне нравится вот это: (a.answer ='' OR a.answer IS NULL . А кто заставлял делать это поле NULLable? tonnazhоптимизировать запрос используя неиспользуемые мной функции mysql Любая функция тормозит запрос. Функция не в секции SELECT - серьёзно тормозит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2017, 15:54 |
|
||
|
Помощь в оптимизации таблицы + помошь в выборке всех записей из связанной таблицы
|
|||
|---|---|---|---|
|
#18+
Akina, с left join понял, спасибо. А что с индексом не так, в какой табилце?? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2017, 23:24 |
|
||
|
Помощь в оптимизации таблицы + помошь в выборке всех записей из связанной таблицы
|
|||
|---|---|---|---|
|
#18+
tonnazh, Explain? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2017, 00:45 |
|
||
|
Помощь в оптимизации таблицы + помошь в выборке всех записей из связанной таблицы
|
|||
|---|---|---|---|
|
#18+
tonnazhчто с индексом не так,Оптимального индекса - тупо нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2017, 20:25 |
|
||
|
Помощь в оптимизации таблицы + помошь в выборке всех записей из связанной таблицы
|
|||
|---|---|---|---|
|
#18+
idselect_typetabletypepossible_keyskeykey_lenrefrowsExtra1PRIMARYaALLFK_couriers_holidays_couriers;FK_couriers_holidays_users1Using where; Using temporary; Using filesort1PRIMARYbeq_refPRIMARYPRIMARY4alinagrey_2f1.a.courier11PRIMARYceq_refPRIMARYPRIMARY4alinagrey_2f1.a.creater13DEPENDENT SUBQUERYeALL596157Using where2DEPENDENT SUBQUERYdALL596157Using where К сожалению с explain не знаком вообще. Буду курить в эту сторону. Но кто-то может уже что-то подсказать? На текущий момент запрос около 2-х секунд делается. Что мега долго... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2017, 20:46 |
|
||
|
Помощь в оптимизации таблицы + помошь в выборке всех записей из связанной таблицы
|
|||
|---|---|---|---|
|
#18+
Akina, не понимаю, если не сложно, объясните что именно не так и что в данном случае читать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2017, 20:47 |
|
||
|
Помощь в оптимизации таблицы + помошь в выборке всех записей из связанной таблицы
|
|||
|---|---|---|---|
|
#18+
не все поля входят в аггрегатные функции или group by ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2017, 02:00 |
|
||
|
Помощь в оптимизации таблицы + помошь в выборке всех записей из связанной таблицы
|
|||
|---|---|---|---|
|
#18+
Akinaкартезианка ? не перепутали ли вы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2017, 03:29 |
|
||
|
Помощь в оптимизации таблицы + помошь в выборке всех записей из связанной таблицы
|
|||
|---|---|---|---|
|
#18+
ScareCrowне все поля входят в аггрегатные функции или group by ...не всегда обязательно, но в данном случае, похоже, вы 100% правы... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2017, 03:31 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=39431427&tid=1830786]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
24ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
| others: | 14ms |
| total: | 123ms |

| 0 / 0 |
