|
|
|
можно ли с оптимизировать этот запрос?
|
|||
|---|---|---|---|
|
#18+
Здравствуйте уважаемые ГУРУ! Есть запрос: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. работает 4 минуты на локальной машине, если меняю дату выборки на 2014-06-10 то те же 4 минуты. В таблице daily_stats 10 млн записей. На реальных данных это более 30млн записей работает более 9 часов, что тут не правильно? Заранее благодарен за любой совет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2014, 18:52:32 |
|
||
|
можно ли с оптимизировать этот запрос?
|
|||
|---|---|---|---|
|
#18+
1) Для всех упоминаемых полей укажите имя таблицы или ее алиас 2) Для всех упоминаемых таблиц приведите их DDL, включая индексы. 3) Покажите план запроса. 4) Поясните словами, как поле `dsp_fee` взаимодействует с полем `Spend`. Есть подозрение на ошибку в арифметике. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2014, 19:04:25 |
|
||
|
можно ли с оптимизировать этот запрос?
|
|||
|---|---|---|---|
|
#18+
alexnews, 1. покажите show create table .... для всех таблиц 2. покажите EXPLAIN этого запроса. 3. в явном виде указывайте табличный алиас для всех полей. Например из какой таблицы `day` BETWEEN '2014-06-01’ AND ‘2014-06-30' ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2014, 19:04:39 |
|
||
|
можно ли с оптимизировать этот запрос?
|
|||
|---|---|---|---|
|
#18+
miksoft, :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2014, 19:05:37 |
|
||
|
можно ли с оптимизировать этот запрос?
|
|||
|---|---|---|---|
|
#18+
5) Какие значения вообще может принимать поле `s`.`media_type` ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2014, 19:08:35 |
|
||
|
можно ли с оптимизировать этот запрос?
|
|||
|---|---|---|---|
|
#18+
а этот сколько работает? Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. кстати, вот тут Код: sql 1. надо бы, наверное, сравнение какое-то вставить, нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2014, 19:11:27 |
|
||
|
можно ли с оптимизировать этот запрос?
|
|||
|---|---|---|---|
|
#18+
ухх спасибо не ожидал такого отклика Запрос: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. EXPLAIN: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. tanglir, ваш запрос работает Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2014, 19:51:13 |
|
||
|
можно ли с оптимизировать этот запрос?
|
|||
|---|---|---|---|
|
#18+
alexnewsваш запрос работаетпопробуйте group by 1, у вас алиас поля результата совпадает с названием поля таблицы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2014, 19:59:41 |
|
||
|
можно ли с оптимизировать этот запрос?
|
|||
|---|---|---|---|
|
#18+
tanglir, я имею в виду он работает немного быстрее, стараюсь быстро ответить и при этом попытаться поменять как посоветовал miksoft. Одно не пойму как это 2) Для всех упоминаемых таблиц приведите их DDL, включая индексы. Можно пример? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2014, 20:20:42 |
|
||
|
можно ли с оптимизировать этот запрос?
|
|||
|---|---|---|---|
|
#18+
alexnews, show create table table_name выдаёт практически то, что вы выложили + описание индексов и покажите эксплейн моего варианта ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2014, 20:24:22 |
|
||
|
можно ли с оптимизировать этот запрос?
|
|||
|---|---|---|---|
|
#18+
alexnews, для начала создайте индекс по daily_stats.day ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2014, 20:44:01 |
|
||
|
можно ли с оптимизировать этот запрос?
|
|||
|---|---|---|---|
|
#18+
Обнаружил попутно баг на склфидле: 1)создаём пустую схему 2)выполняем Код: sql 1. 3)нажимаем "отформатировать код", и вуаля, в окошке с кодом получаем Код: sql 1. 2. 3. 4. , при этом текст запроса теряется Так и не нашёл там ни формы обратной связи, ни мыла. Не регистрироваться же в твиттере, чтобы им багрепорт через него отправить :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2014, 21:16:52 |
|
||
|
можно ли с оптимизировать этот запрос?
|
|||
|---|---|---|---|
|
#18+
tanglir, Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. Модератор: Пожалуйста, пользуйтесь тэгами для оформления ваших постов. В ваших же интересах сделать так, чтобы ваши посты было легче читать. Нечитаемые посты никто не любит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2014, 21:17:14 |
|
||
|
можно ли с оптимизировать этот запрос?
|
|||
|---|---|---|---|
|
#18+
tanglir Код: sql 1. Или уже исправили, или этот баг связан с чем-то другим. Сейчас работает исправно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2014, 21:28:57 |
|
||
|
можно ли с оптимизировать этот запрос?
|
|||
|---|---|---|---|
|
#18+
alexnewsне хочу тут светить то чего не смогу удалитьТут можно воспользоваться ссылкой "сообщить моедратору" и попросить что-то удалить/отредактировать. Но срочности не обещаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2014, 21:34:16 |
|
||
|
можно ли с оптимизировать этот запрос?
|
|||
|---|---|---|---|
|
#18+
miksoft, спасибо, буду знать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2014, 21:37:52 |
|
||
|
можно ли с оптимизировать этот запрос?
|
|||
|---|---|---|---|
|
#18+
miksoft, это я пытался шифроваться сокращая переменные ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2014, 21:39:35 |
|
||
|
можно ли с оптимизировать этот запрос?
|
|||
|---|---|---|---|
|
#18+
javajdbc, Извиняюсь а зачем создавать индекс для поля, которое итак вроде бы упорядочено? Или я чего-то не понимаю? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2014, 22:18:27 |
|
||
|
можно ли с оптимизировать этот запрос?
|
|||
|---|---|---|---|
|
#18+
alexnewsjavajdbc, Извиняюсь а зачем создавать индекс для поля, которое итак вроде бы упорядочено? Или я чего-то не понимаю? Или! ОБЯЗАТЕЛЬНО создайте индекс и посмотрите результат :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2014, 22:33:59 |
|
||
|
можно ли с оптимизировать этот запрос?
|
|||
|---|---|---|---|
|
#18+
javajdbcalexnewsjavajdbc, Извиняюсь а зачем создавать индекс для поля, которое итак вроде бы упорядочено? Или я чего-то не понимаю? Или! ОБЯЗАТЕЛЬНО создайте индекс и посмотрите результат :-)Я, кстати, тоже не понимаю. Как минимум, не хватает информации о порядке полей в индексах. И, если не ошибаюсь, оба LEFT JOIN-а фактически превращаются в просто JOIN-ы из-за `demand_type` = 'exchange'. Если так и нужно, то лучше исправить JOIN-ы явно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2014, 22:45:17 |
|
||
|
можно ли с оптимизировать этот запрос?
|
|||
|---|---|---|---|
|
#18+
alexnews, это должно выглядеть так: Код: plsql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2014, 00:14:14 |
|
||
|
можно ли с оптимизировать этот запрос?
|
|||
|---|---|---|---|
|
#18+
javajdbc, я извиняюсь за свою тупость. Индекс я создал но как я в этом запросе его могу применить подскажите, пожалуйста ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2014, 01:10:01 |
|
||
|
можно ли с оптимизировать этот запрос?
|
|||
|---|---|---|---|
|
#18+
alexnewsкак я в этом запросе его могу применить подскажите, пожалуйстаИндекс MySQL применит самостоятельно, если с его точки зрения это имеет смысл. Проверьте время выполнения запроса еще несколько раз и покажите его новый план. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2014, 01:14:18 |
|
||
|
можно ли с оптимизировать этот запрос?
|
|||
|---|---|---|---|
|
#18+
miksoft, убрал LEFT, время не изменилось, да и везде пишут что от вида JOIN скорость не зависит или они не правы? Это интересно чисто для себя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2014, 01:22:01 |
|
||
|
можно ли с оптимизировать этот запрос?
|
|||
|---|---|---|---|
|
#18+
miksoft, Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. я вот не пойму где тут применяется мои индекс который я создал командой Код: plsql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2014, 01:36:18 |
|
||
|
можно ли с оптимизировать этот запрос?
|
|||
|---|---|---|---|
|
#18+
alexnewsmiksoft, убрал LEFT, время не изменилось, да и везде пишут что от вида JOIN скорость не зависит или они не правы? Это интересно чисто для себя.По-разному бывает. Если оптимизатор MySQL решит изменить направление выполнения JOIN-а (LEFT JOIN всегда выполняется слева направо, а JOIN - в любую сторону по выбору оптимизатора), то скорость изменится. Если в секции WHERE есть условия на "необязательную" таблицу (которая после LEFT JOIN), то после смены на просто JOIN может задействоваться другой индекс и время опять изменится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2014, 01:36:25 |
|
||
|
можно ли с оптимизировать этот запрос?
|
|||
|---|---|---|---|
|
#18+
alexnewsmiksoft, Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. я вот не пойму где тут применяется мои индекс который я создал командой Код: plsql 1. а он тут и не применяется. javajdbc, надеюсь, объяснит свою мысль насчет этого индекса. А пока таки покажите SHOW CREATE TABLE по каждой таблице, если я не пропустил это выше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2014, 01:39:40 |
|
||
|
можно ли с оптимизировать этот запрос?
|
|||
|---|---|---|---|
|
#18+
miksoft, так, теперь я ничего не понимаю :-) разве `day` BETWEEN '2014-06-01' AND '2014-06-30' не достаточно селективно? или там все 10 млн записей призошли недавно? Потом непонятки с експлейном, в одном експлейне в даилы_статс есть индексы, в сругом их нет... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2014, 01:56:32 |
|
||
|
можно ли с оптимизировать этот запрос?
|
|||
|---|---|---|---|
|
#18+
javajdbcразве `day` BETWEEN '2014-06-01' AND '2014-06-30' не достаточно селективно?Может и нет, это только топикстартер может сказать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2014, 02:02:59 |
|
||
|
можно ли с оптимизировать этот запрос?
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2014, 02:14:28 |
|
||
|
можно ли с оптимизировать этот запрос?
|
|||
|---|---|---|---|
|
#18+
javajdbc, за месяц набегает 10млн записей это база только одного месяца обычно запрос за квартал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2014, 02:25:35 |
|
||
|
можно ли с оптимизировать этот запрос?
|
|||
|---|---|---|---|
|
#18+
alexnews, ок, разберемся с данными. Допустим у вас Х млн записвй всего в таблице. Если больше 20% из них попадает в выборку то индексы бесполезны и будет перебор по всем Х милионам. просто сделайте: Код: sql 1. 2. Код: sql 1. 2. 3. выдайте результат и скорость обоих запросов. далее сделайте тоже самое (результат и скорость) для Код: sql 1. 2. 3. 4. Код: sql 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2014, 04:16:33 |
|
||
|
можно ли с оптимизировать этот запрос?
|
|||
|---|---|---|---|
|
#18+
alexnewsalexnews, это должно выглядеть так: Код: plsql 1. вообще-то операция сравнения с нуллом - IS NULL, никак не обычный знак равенства По этому поводу хочу уточнить у ТСа: вы понимаете, что в запись результата с media_type=news попадут не только те сочетания записей (d,c), которым в s будет соответствовать всё, кроме "ded", но также и все сочетания записей (d,c), которым в s не будет соответствовать вообще ничего? Вам точно именно это надо? miksofttanglir Код: sql 1. http://sqlfiddle.com/#!2/d41d8/40389 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2014, 06:03:52 |
|
||
|
можно ли с оптимизировать этот запрос?
|
|||
|---|---|---|---|
|
#18+
javajdbc, Код: sql 1. 2. 3. 4. 5. 6. 7. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. Код: sql 1. 2. 3. 4. 5. 6. 7. Код: sql 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2014, 18:00:15 |
|
||
|
можно ли с оптимизировать этот запрос?
|
|||
|---|---|---|---|
|
#18+
tangliralexnewsalexnews, это должно выглядеть так: Код: plsql 1. вообще-то операция сравнения с нуллом - IS NULL, никак не обычный знак равенства вроде бы в исходном коде нет сравнения с NULL? вид такой Код: plsql 1. tanglirПо этому поводу хочу уточнить у ТСа: вы понимаете, что в запись результата с media_type=news попадут не только те сочетания записей (d,c), которым в s будет соответствовать всё, кроме "ded", но также и все сочетания записей (d,c), которым в s не будет соответствовать вообще ничего? Вам точно именно это надо? если честно то не уверен, я этот запрос вижу второй день в какой-то из дней он вдруг стал тормозить при этом ничего особенного не случилось и данные поступали как обычно. Какие возможны шаги чтобы это выяснить? на сколько я представляю интересует совпадение конечной суммы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2014, 18:16:58 |
|
||
|
можно ли с оптимизировать этот запрос?
|
|||
|---|---|---|---|
|
#18+
alexnews, Кстати, а вы нам планы и прочее показываете с какой машины, с локальной (где не тормозит) или с сервера с реальными данными (где тормозит) ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2014, 18:19:35 |
|
||
|
можно ли с оптимизировать этот запрос?
|
|||
|---|---|---|---|
|
#18+
miksoftalexnews, Кстати, а вы нам планы и прочее показываете с какой машины, с локальной (где не тормозит) или с сервера с реальными данными (где тормозит) ? локальная, полная копия дампа базы за исключением что взяты данные за месяц ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2014, 18:29:16 |
|
||
|
можно ли с оптимизировать этот запрос?
|
|||
|---|---|---|---|
|
#18+
alexnewsmiksoftalexnews, Кстати, а вы нам планы и прочее показываете с какой машины, с локальной (где не тормозит) или с сервера с реальными данными (где тормозит) ? локальная, полная копия дампа базы за исключением что взяты данные за месяцТогда проверьте планы и результаты SHOW CREATE TABLE (которых мы так и не увидели) с сервером. Да и данные использовать лучше все. От этого меняется селективность условий и могут измениться планы запросов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2014, 18:37:21 |
|
||
|
можно ли с оптимизировать этот запрос?
|
|||
|---|---|---|---|
|
#18+
miksoft, я же вроде бы дал планы вот тут http://www.describe.ru/sql.txt или перенести все на форум а потом просить удалить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2014, 18:40:35 |
|
||
|
можно ли с оптимизировать этот запрос?
|
|||
|---|---|---|---|
|
#18+
miksoft, я могу вам написать письмо лично? мне очень важно решить эту проблему ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2014, 18:42:50 |
|
||
|
можно ли с оптимизировать этот запрос?
|
|||
|---|---|---|---|
|
#18+
alexnewsmiksoft, я же вроде бы дал планы вот тут http://www.describe.ru/sql.txt или перенести все на форум а потом просить удалить?Вы файлик пополняете? я как-то не догадался второй раз туда посмотреть. В принципе как хотите, только тогда уведомляйте об изменениях. alexnewsmiksoft, я могу вам написать письмо лично? мне очень важно решить эту проблемуТехнически можете, но особого смысла не вижу. Лучше решать задачу в рамках форума. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2014, 19:15:23 |
|
||
|
можно ли с оптимизировать этот запрос?
|
|||
|---|---|---|---|
|
#18+
miksoftalexnewsmiksoft, я же вроде бы дал планы вот тут http://www.describe.ru/sql.txt или перенести все на форум а потом просить удалить?Вы файлик пополняете? я как-то не догадался второй раз туда посмотреть. В принципе как хотите, только тогда уведомляйте об изменениях. да я обновил файлик ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2014, 19:24:07 |
|
||
|
можно ли с оптимизировать этот запрос?
|
|||
|---|---|---|---|
|
#18+
alexnewsвроде бы в исходном коде нет сравнения с NULL? вид такой Код: plsql 1. выделенное как раз и может оказаться нуллом в силу лефтджойна ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2014, 19:30:24 |
|
||
|
можно ли с оптимизировать этот запрос?
|
|||
|---|---|---|---|
|
#18+
tangliralexnewsвроде бы в исходном коде нет сравнения с NULL? вид такой Код: plsql 1. выделенное как раз и может оказаться нуллом в силу лефтджойнаНе может. Я выше уже показывал, что лефтджойн в данном запросе вырождается в просто джойн. И в самой таблице это поле NOT NULL. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2014, 19:33:15 |
|
||
|
можно ли с оптимизировать этот запрос?
|
|||
|---|---|---|---|
|
#18+
miksofttanglirпропущено... выделенное как раз и может оказаться нуллом в силу лефтджойнаНе может. Я выше уже показывал, что лефтджойн в данном запросе вырождается в просто джойн. И в самой таблице это поле NOT NULL. Я пробовал просто джоин результат тот же ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2014, 19:41:10 |
|
||
|
можно ли с оптимизировать этот запрос?
|
|||
|---|---|---|---|
|
#18+
miksoftНе может. Я выше уже показывал, что лефтджойн в данном запросе вырождается в просто джойн.лефтджойн с c - да, вырождается, т.к. на c.demand_type есть фильтр лефтджойн с s - с чего бы вдруг? фильтра на поля этой таблицы в запросе нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2014, 20:13:49 |
|
||
|
можно ли с оптимизировать этот запрос?
|
|||
|---|---|---|---|
|
#18+
tanglirmiksoftНе может. Я выше уже показывал, что лефтджойн в данном запросе вырождается в просто джойн.лефтджойн с c - да, вырождается, т.к. на c.demand_type есть фильтр лефтджойн с s - с чего бы вдруг? фильтра на поля этой таблицы в запросе нет нда согласен, не подумал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2014, 20:25:28 |
|
||
|
можно ли с оптимизировать этот запрос?
|
|||
|---|---|---|---|
|
#18+
подскажите, пожалуйста что не правильно в этом запросе? Код: plsql 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2014, 20:27:29 |
|
||
|
можно ли с оптимизировать этот запрос?
|
|||
|---|---|---|---|
|
#18+
miksoft> Не может <...> tanglir> <...>с чего бы вдруг? <...> alexnews> нда согласен, не подумал ЯНП... вроде бы клоны - это фишка ПТ и Арии51? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2014, 20:28:01 |
|
||
|
можно ли с оптимизировать этот запрос?
|
|||
|---|---|---|---|
|
#18+
alexnews, а если джойн после лефтджойна поставить? а то у вас сначала идёт джойн с s, а только потом она "объявляется" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2014, 20:29:22 |
|
||
|
можно ли с оптимизировать этот запрос?
|
|||
|---|---|---|---|
|
#18+
tanglirmiksoft> Не может <...> tanglir> <...>с чего бы вдруг? <...> alexnews> нда согласен, не подумал ЯНП... вроде бы клоны - это фишка ПТ и Арии51? И кто из нас чей клон? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2014, 21:21:19 |
|
||
|
можно ли с оптимизировать этот запрос?
|
|||
|---|---|---|---|
|
#18+
tangliralexnews, а если джойн после лефтджойна поставить? а то у вас сначала идёт джойн с s, а только потом она "объявляется" спасибо сам как-то ступил Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. это похоже и есть затык ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2014, 22:05:19 |
|
||
|
можно ли с оптимизировать этот запрос?
|
|||
|---|---|---|---|
|
#18+
miksofttanglirmiksoft> Не может <...> tanglir> <...>с чего бы вдруг? <...> alexnews> нда согласен, не подумал ЯНП... вроде бы клоны - это фишка ПТ и Арии51? И кто из нас чей клон? :) наверное я ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2014, 22:06:20 |
|
||
|
можно ли с оптимизировать этот запрос?
|
|||
|---|---|---|---|
|
#18+
alexnewstangliralexnews, а если джойн после лефтджойна поставить? а то у вас сначала идёт джойн с s, а только потом она "объявляется" спасибо сам как-то ступил Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. это похоже и есть затык пока не понятно , по какомоту из планов подсоединение стратегий идет по индексу, по идее не должно ТАК тормозить. Идем дальше -- 0. после каждого SELECT вставьте SQL_NO_CACHE в тело запроса. 1. получите и выдайте ЕХПЛЕЙН на все 4 запроса. 2. поставьте любой "реального-времени" монитор памяти и обрашений к диску. Внимательно проследите, нет ли резкого увелкичения обрашения к диску во время последнего запроса при максимальном забитии памяти. Один из вариантов тормозов -- запрос вывалился из памяти на диск -- просто по размеру выборки. Если память не забита но диск стучит -- есть шанс ускорится увеличения каких-нибудь буферов. 3. А вообше -- какие требования? это одиночный запрос или таких запросов по 5 каждую секунду? 4. Слышали ли вы слово "преагрегация" ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2014, 01:49:54 |
|
||
|
можно ли с оптимизировать этот запрос?
|
|||
|---|---|---|---|
|
#18+
сегодня получил доступ к серверу и ужаснулся, как оказалось у них в конфиге вообще конь не валялся после моих исправлений данные с сервера: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. добавил NO_SQL_CACHE, время не изменилось. Извиняюсь за тупой вопрос а что SQL кэширует запросы? И есть вероятность когда данные изменились нарваться на закэшированные данные? javajdbc Идем дальше -- 0. после каждого SELECT вставьте SQL_NO_CACHE в тело запроса. сделал но изменений по скорости не заметил или это для другого делалось? javajdbc1. получите и выдайте ЕХПЛЕЙН на все 4 запроса. выше вывел javajdbc 2. поставьте любой "реального-времени" монитор памяти и обрашений к диску. Внимательно проследите, нет ли резкого увелкичения обрашения к диску во время последнего запроса при максимальном забитии памяти. Один из вариантов тормозов -- запрос вывалился из памяти на диск -- просто по размеру выборки. Если память не забита но диск стучит -- есть шанс ускорится увеличения каких-нибудь буферов. можно мне подсказать что лучше всего использовать под CentOS 6.5? javajdbc 3. А вообше -- какие требования? это одиночный запрос или таких запросов по 5 каждую секунду? одиночный но работал на сервере 9 часов, сейчас не знаю сколько будет так как изменения сделал недавно а скрипт запуститься через несколько часов да и то я не узнаю так как выходные а я новенький и не знаю даже откуда их скрипт отчета запускается javajdbc4. Слышали ли вы слово "преагрегация" ? до вас не слышал, но почитал вас в соседней ветке - крутая идея посоветую программерам сделать. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2014, 03:29:39 |
|
||
|
можно ли с оптимизировать этот запрос?
|
|||
|---|---|---|---|
|
#18+
OK, по запросам вроде бы все как было, кроме последнего -- скорость вроде улучшилась с 3 минут до 20 секунд. Разко изменился ЕХПЛЕЙН --- теперь на первом месте zf_strategies с 21К записей а даили_статс на последнем месте. (люди добрые, скажите а бывает таблица которая первая и слева от лефт жоина оказатся последней в Експлейне? или сервер у ТС чудит? или копи-пасте плохо работает ? а был ли LEFT ?) Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. В любом случае это показывает что переспектива есть лишние LEFT конкретно мешают. Одна из версий -- был перебот 20К записей на 100 записей -- 2 млн, что меньше чем 9 МЛН прямого перебора и запрос не вывалился из памяти. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2014, 04:54:39 |
|
||
|
можно ли с оптимизировать этот запрос?
|
|||
|---|---|---|---|
|
#18+
>> добавил NO_SQL_CACHE, время не изменилось. Это обеспечивает валидность тестов против кеширования >> Извиняюсь за тупой вопрос а что SQL кэширует запросы? Да. >> И есть вероятность когда данные изменились нарваться на закэшированные данные? Нет. >> ........ поставьте любой "реального-времени" монитор >> можно мне подсказать что лучше всего использовать под CentOS 6.5? > yum install htop > htop > yum install iotop > iotop -o > yum install sysstat > iostat 3 ну или спросить местного сисадмина. если охота в настройках покапатся, то: > wget http://mysqltuner.com/mysqltuner.pl > chmod +x mysqltuner.pl > ./mysqltuner.pl (осторожно, настройками можно поламать сервер!) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2014, 05:07:21 |
|
||
|
можно ли с оптимизировать этот запрос?
|
|||
|---|---|---|---|
|
#18+
>> [скрипт] ....одиночный но работал на сервере 9 часов, сейчас не знаю сколько будет так как изменения сделал недавно а скрипт запуститься через несколько часов да и то я не узнаю так как выходные а я новенький и не знаю даже откуда их скрипт отчета запускается посмотрите , включен ли slow-query-log, скорее всего ваш запрос туда попадет и вы сможете полюбоватся какая была скорость даже через несколько дней. >>>>4. Слышали ли вы слово "преагрегация" ? >> до вас не слышал, но почитал вас в соседней ветке - крутая идея посоветую программерам сделать. Спасибо. Всегда пожалуйста! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2014, 05:15:36 |
|
||
|
|

start [/forum/topic.php?all=1&fid=47&tid=1834557]: |
0ms |
get settings: |
10ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
80ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
106ms |
get tp. blocked users: |
1ms |
| others: | 238ms |
| total: | 475ms |

| 0 / 0 |
