|
|
|
Избежать временных таблиц
|
|||
|---|---|---|---|
|
#18+
fedorov2012, индексы можно. Есть нюансы с FK. Ну прочитай про них уже. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2014, 20:34 |
|
||
|
Избежать временных таблиц
|
|||
|---|---|---|---|
|
#18+
Симонов Денисfedorov2012, индексы можно. Есть нюансы с FK. Ну прочитай про них уже. Спасибо почитал, только вот не нахожу ответа на такой вопрос - у меня есть ХП в которых есть обращение к моей tmp_table. Сейчас я хочу удалить свою tmp_table и создать CREATE GLOBAL TEMPORARY TABLE с таким же именем, нужно ли перекомпилировать эти ХП или им без разницы какая tmp_table - GLOBAL TEMPORARY TABLE или обычная стандартная? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2014, 21:51 |
|
||
|
Избежать временных таблиц
|
|||
|---|---|---|---|
|
#18+
fedorov2012Сейчас я хочу удалить свою tmp_table Попробуй и ответ придёт сам собой. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2014, 22:12 |
|
||
|
Избежать временных таблиц
|
|||
|---|---|---|---|
|
#18+
ну да, drop'нуть не получиться пока ХП пустыми не сделаешь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2014, 22:24 |
|
||
|
Избежать временных таблиц
|
|||
|---|---|---|---|
|
#18+
Вообщем после многочасовой работы заставил sql-запрос летать без использования временных таблиц (в среднем 50 миллисекунд) . Но вот беда стоит включить сортировку (order by) как запрос начинает тормозить (конечно выполняется теперь быстрее чем раньше) и время составляет 48 сек. Что подскажите сделать? Может этот вопрос вынести в отдельный топик? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2014, 02:32 |
|
||
|
Избежать временных таблиц
|
|||
|---|---|---|---|
|
#18+
48 сек выполнения - на выходе 40 тыс. записей с 20 полями ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2014, 02:47 |
|
||
|
Избежать временных таблиц
|
|||
|---|---|---|---|
|
#18+
fedorov2012Ну тогда особой разницы между моим tmp_table нетРазница появится как только "моя tmp_table" потребуется нескольким клиентам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2014, 04:28 |
|
||
|
Избежать временных таблиц
|
|||
|---|---|---|---|
|
#18+
fedorov2012 Что подскажите сделать? показать запросы и планы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2014, 08:24 |
|
||
|
Избежать временных таблиц
|
|||
|---|---|---|---|
|
#18+
m7mпоказать запросы и планы запрос Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. План c order by: Код: sql 1. План без order by: PLAN JOIN (JOIN (TREE1 INDEX (PK_TREE1), SP_TREE1 NATURAL, TR1 INDEX (FK_TREE1_1)), TREE2 INDEX (PK_TREE2))(SP_TREE2 NATURAL)(MN INDEX (FK_TREE2))JOIN (T2 INDEX (FK_TABLE2_2), T1 INDEX (PK_TABLE1))(T3 INDEX (PK_TABLE3))[/SRC] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2014, 11:21 |
|
||
|
Избежать временных таблиц
|
|||
|---|---|---|---|
|
#18+
fedorov2012, откуда тут уже 3 таблицы появилось, раньше была 1 и join с 2мя ХП. Только не говори, что это те временные таблицы, которые ты в процедурах заполнил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2014, 11:27 |
|
||
|
Избежать временных таблиц
|
|||
|---|---|---|---|
|
#18+
fedorov2012, твои запросы ещё ни разу не соответствовали твоим планам, хватит врать уже... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2014, 11:40 |
|
||
|
Избежать временных таблиц
|
|||
|---|---|---|---|
|
#18+
Симонов Денисfedorov2012, откуда тут уже 3 таблицы появилось, раньше была 1 и join с 2мя ХП. Только не говори, что это те временные таблицы, которые ты в процедурах заполнил. просто я старался не усложнять запрос и в топик вешал саму суть. Текущий запрос - это реальный мой запрос (только названия таблиц переименованы) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2014, 11:47 |
|
||
|
Избежать временных таблиц
|
|||
|---|---|---|---|
|
#18+
Планы между собой отличаются только наличием или отсутствием SORT в начале Без order by выполняется запрос на порядки быстрее ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2014, 11:49 |
|
||
|
Избежать временных таблиц
|
|||
|---|---|---|---|
|
#18+
а нефиг сортировать широкие выборки. Попробуй Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. где id - PK таблицы t2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2014, 12:00 |
|
||
|
Избежать временных таблиц
|
|||
|---|---|---|---|
|
#18+
fedorov2012Без order by выполняется запрос на порядки быстрееФетч первой записи - это ещё не выполнение запроса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2014, 12:06 |
|
||
|
Избежать временных таблиц
|
|||
|---|---|---|---|
|
#18+
Симонов Денисгде id - PK таблицы t2 Спасибо Симонов Дениса нефиг сортировать широкие выборки. Попробуй А как быть, на клиенте корячиться с сортировкой - или на клиенте выделить в отдельную опцию - "Отсортировать", как правило в этом случае как поступают? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2014, 12:13 |
|
||
|
Избежать временных таблиц
|
|||
|---|---|---|---|
|
#18+
fedorov2012, так помогло? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2014, 12:16 |
|
||
|
Избежать временных таблиц
|
|||
|---|---|---|---|
|
#18+
Симонов Денисfedorov2012, так помогло? неа, да и как оно могло помочь если в with такой же order by стоит ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2014, 12:32 |
|
||
|
Избежать временных таблиц
|
|||
|---|---|---|---|
|
#18+
fedorov2012, не совсем. Там я сортирую более узкую выборку. Соответсвенно она требует меньше temp пространства, а потом присоединяю её к твоей табличке. В прочем Влад тебе правильно сказал. Ты без сортировки кнопочку Fetch All жмакни ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2014, 12:36 |
|
||
|
Избежать временных таблиц
|
|||
|---|---|---|---|
|
#18+
Симонов Денисfedorov2012, не совсем. Там я сортирую более узкую выборку. Соответсвенно она требует меньше temp пространства, а потом присоединяю её к твоей табличке. может FB можно сказать мол сделай сортировку 1ым 100 записям ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2014, 13:15 |
|
||
|
Избежать временных таблиц
|
|||
|---|---|---|---|
|
#18+
fedorov2012может FB можно сказать мол сделай сортировку 1ым 100 записям Сказать можно Код: sql 1. 2. 3. вот только эту первую сотню сначала надо четко определить дабы при следующем запуске она не оказалась совсем другой сотней ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2014, 13:26 |
|
||
|
Избежать временных таблиц
|
|||
|---|---|---|---|
|
#18+
все равно не понятно почему order by медленно сортирует да еще и по индексированному полю - ведь матем. т. зр это быстрая операция ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2014, 14:24 |
|
||
|
Избежать временных таблиц
|
|||
|---|---|---|---|
|
#18+
fedorov2012все равно не понятно почему *order by* медленно сортирует да еще и по индексированному полю Потому что: 1) Сортировка внешняя. 2) Индекс у таблицы, а сортируется конечный набор данных. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2014, 14:49 |
|
||
|
Избежать временных таблиц
|
|||
|---|---|---|---|
|
#18+
fedorov2012все равно не понятно почему order by медленно сортирует да еще и по индексированному полю - ведь матем. т. зр это быстрая операция order by - не сортирует, он только говорит что результирующий набор должен быть отсортирован а каким образом это другое зы. возможно ты и сможешь добиться в плане запроса не SORT а ORDERED (или как его там) но это не значит что будет быстрее ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2014, 15:31 |
|
||
|
|

start [/forum/topic.php?fid=40&msg=38779875&tid=1563247]: |
0ms |
get settings: |
10ms |
get forum list: |
17ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
180ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
63ms |
get tp. blocked users: |
1ms |
| others: | 242ms |
| total: | 532ms |

| 0 / 0 |
