|
|
|
Объясните пожалуйста как это работает?
|
|||
|---|---|---|---|
|
#18+
"Поиск по двум ключам" Запрос: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. Объясните пожалуйста как это работает? мне кажется, что "INSERT INTO tmp" должно стоять либо после каждого Select-а либо после обоих! а тут как-то странно. Модератор: Пользуйтесь тэгом SRC для выделения кода. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2013, 21:17:46 |
|
||
|
Объясните пожалуйста как это работает?
|
|||
|---|---|---|---|
|
#18+
Yakunin_Yura, всё правильно для первого http://dev.mysql.com/doc/refman/5.1/en/create-table-select.html а второй - простой инсерт ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2013, 21:48:25 |
|
||
|
Объясните пожалуйста как это работает?
|
|||
|---|---|---|---|
|
#18+
Yakunin_YuraОбъясните пожалуйста как это работает?Думаю, что неправильно. Запись, где оба поля - единицы, задвоится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2013, 22:20:28 |
|
||
|
Объясните пожалуйста как это работает?
|
|||
|---|---|---|---|
|
#18+
Yakunin_Yura"Поиск по двум ключам" Объясните пожалуйста как это работает? мне кажется, что "INSERT INTO tmp" должно стоять либо после каждого Select-а либо после обоих! а тут как-то странно.Демонстрация работы с временными таблицами. Сначала результаты запроса сохраняются для дальнейшей обработки в (отсутствующей на этот момент) временнтй таблице. Затем в только что созданную таблицу добавляются другие данные. Накопленные двумя запросами SELECT данные выдаются в качестве результата работы, а временная таблица больше не нужна, и поэтому сразу же удаляется. Только я бы явно написал DROP TEMPORARY TABLE tmp PS. Команда INSERT пишется не после, а перед SELECT :) PPS. Без использования временных таблиц запрос пишется в 1 операцию: Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2013, 08:27:57 |
|
||
|
Объясните пожалуйста как это работает?
|
|||
|---|---|---|---|
|
#18+
Или с использованием UNION — для задействования индексов по обоим полям ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2013, 08:30:01 |
|
||
|
Объясните пожалуйста как это работает?
|
|||
|---|---|---|---|
|
#18+
Cygapb-007Или с использованием UNION — для задействования индексов по обоим полямОпять - UNION ALL даст дубль, а простой UNION - дополнительную сортировку. Также не убеждён, что масик сможет использовать индекс в конструкции Код: sql 1. А вот в варианте Код: sql 1. точно сможет: Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2013, 09:09:24 |
|
||
|
Объясните пожалуйста как это работает?
|
|||
|---|---|---|---|
|
#18+
AkinaОпять - UNION ALL даст дубль Да что Вы говорите! Неужели? Код: sql 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2013, 11:25:17 |
|
||
|
Объясните пожалуйста как это работает?
|
|||
|---|---|---|---|
|
#18+
Cygapb-007, можно всё же написать через OR и надеяться, что мускль догадается использовать index merge :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2013, 11:41:52 |
|
||
|
Объясните пожалуйста как это работает?
|
|||
|---|---|---|---|
|
#18+
Akina id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE test index_merge key2; key3; key23; key21; key31; key32; key213; key231; key312; key321 key2;key3 5;5 NULL 218 Using union(key2;key3) ; Using where Спасибо, не знал про union key :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2013, 11:58:56 |
|
||
|
Объясните пожалуйста как это работает?
|
|||
|---|---|---|---|
|
#18+
Cygapb-007AkinaОпять - UNION ALL даст дубль Да что Вы говорите! Неужели? Код: sql 1. 2. 3. Код: sql 1. 2. 3. насколько я понимаю... Но UNION ALL может привести к материализации промежуточного результата подзапросов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2013, 12:05:58 |
|
||
|
Объясните пожалуйста как это работает?
|
|||
|---|---|---|---|
|
#18+
miksoftНо UNION ALL может привести к материализации промежуточного результата подзапросов.Собственно, стартовый пост и демонстрирует принцип работы материализации, в "развернутом" виде. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2013, 12:19:49 |
|
||
|
|

start [/forum/topic.php?desktop=1&fid=47&tid=1835945]: |
0ms |
get settings: |
4ms |
get forum list: |
15ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
50ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
| others: | 200ms |
| total: | 331ms |

| 0 / 0 |
