|
|
|
Бесконечный "Copying to tmp table" при поиске по 14-ти гиговой таблице
|
|||
|---|---|---|---|
|
#18+
Доброго времени суток, господа! Есть такой запрос: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. Переменные $search и $LNG_ID задаются таким образом: Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. скрипт создания таблицы Код: 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. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. Поиск по таблице (таких записей в ней 47,491,927, всего таблица весит 14.1 гигабайт) занимает примерно 2.5 часа, что неприемлимо в принципе. Как можно оптимизировать запрос/таблицу/базу для того, что бы работа с этой и другими таблицами (80 таблиц, 84+ гигабайта веса) была быстрой? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2014, 17:40:24 |
|
||
|
Бесконечный "Copying to tmp table" при поиске по 14-ти гиговой таблице
|
|||
|---|---|---|---|
|
#18+
Показывайте план запроса и все остальные подробности. Общие рекомендации: 1) Выбросьте неиспользуемые записи. Как я понимаю, нужен только русский язык. 2) Выбросьте неиспользуемые поля. Сходу я не помню значения полей в текдоке, но смутно помнится, что поле ARL_CTM и еще некоторые не нужны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2014, 19:09:34 |
|
||
|
Бесконечный "Copying to tmp table" при поиске по 14-ти гиговой таблице
|
|||
|---|---|---|---|
|
#18+
не все поля селекта в группировке. текстовое поле в группировке. половина дждойнов не используется в селекте. стандартное решение - вытянуть подзапросом и отфильтровать то что в фильтрах, наложить постраничку и только потом джойнить все остальное. эксплейн? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2014, 19:31:14 |
|
||
|
Бесконечный "Copying to tmp table" при поиске по 14-ти гиговой таблице
|
|||
|---|---|---|---|
|
#18+
И, кстати, DISTINCT одновременно с GROUP BY - вообще ерунда какая-то. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2014, 19:33:25 |
|
||
|
Бесконечный "Copying to tmp table" при поиске по 14-ти гиговой таблице
|
|||
|---|---|---|---|
|
#18+
Кирилл Даншин, Наверное группировать не стоит, действительно зачем. Лучше сделать 2 отдельных индекса - просто по `ARL_SEARCH_NUMBER` - просто по `ARL_ART_ID` И тогда у вас таблица не будет весить 14 Гиг. После этого нужно посмотреть что все таблицы в вашем запросе используют индексы по поисковым полям ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.12.2014, 12:01:19 |
|
||
|
Бесконечный "Copying to tmp table" при поиске по 14-ти гиговой таблице
|
|||
|---|---|---|---|
|
#18+
Кирилл ДаншинДоброго времени суток, господа! Есть такой запрос: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. а за какое время такой запрос отработает? 47миллионов записей многовато, что-бы их пачкой выгребать, что вы с ними сделать хотите ( в PHP? ) как вариант ускорения, в таблицу можно было бы добавить поле DES_LNG_ID что бы получить поиск по ключу нормальный ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.01.2015, 02:11:39 |
|
||
|
Бесконечный "Copying to tmp table" при поиске по 14-ти гиговой таблице
|
|||
|---|---|---|---|
|
#18+
NikolayV81, Он не пачкой выгребает, а по поисковому номеру. Все норма, должно отрабатывать быстро. Сейчас ART_LOOKUP уже занимает более 52 лимонов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2015, 12:04:15 |
|
||
|
Бесконечный "Copying to tmp table" при поиске по 14-ти гиговой таблице
|
|||
|---|---|---|---|
|
#18+
МихNikolayV81, Он не пачкой выгребает, а по поисковому номеру. Все норма, должно отрабатывать быстро. Сейчас ART_LOOKUP уже занимает более 52 лимонов. "Поиск по таблице (таких записей в ней 47,491,927, ..." Я как то подумал что это означает что поисковому запросу удовлетворяет 47е6 запмсей :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2015, 14:56:04 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=38846376&tid=1833713]: |
0ms |
get settings: |
4ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
731ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
35ms |
get tp. blocked users: |
1ms |
| others: | 222ms |
| total: | 1015ms |

| 0 / 0 |
