|
|
|
Каой из запросов более правильный (оптимальный)?
|
|||
|---|---|---|---|
|
#18+
Код: sql 1. 2. 3. или Код: sql 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2015, 16:59:56 |
|
||
|
Каой из запросов более правильный (оптимальный)?
|
|||
|---|---|---|---|
|
#18+
Ch_sla, А ничего, что эти запросы семантически неэквивалентны и в общем случае возвращают совершенно разные резульутаты? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2015, 17:35:49 |
|
||
|
Каой из запросов более правильный (оптимальный)?
|
|||
|---|---|---|---|
|
#18+
Второй запрос вырожден и на самом деле INNER JOIN. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2015, 17:48:30 |
|
||
|
Каой из запросов более правильный (оптимальный)?
|
|||
|---|---|---|---|
|
#18+
Добрый Э - ЭхCh_sla, А ничего, что эти запросы семантически неэквивалентны и в общем случае возвращают совершенно разные резульутаты? Возвращают, на реальной базе, одно и тоже. AkinaВторой запрос вырожден и на самом деле INNER JOIN. Тогда, какой запрос более оптимальный? Если inner join, то какой из них? Код: sql 1. 2. 3. 4. Код: sql 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2015, 18:06:31 |
|
||
|
Каой из запросов более правильный (оптимальный)?
|
|||
|---|---|---|---|
|
#18+
Ch_slaВозвращают, на реальной базе, одно и тоже.тебе просто повезло... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2015, 18:15:21 |
|
||
|
Каой из запросов более правильный (оптимальный)?
|
|||
|---|---|---|---|
|
#18+
Ch_slaЕсли inner join, то какой из них?с вероятностью в 99% можно сказать - что без разницы. но 146% можно будет дать, лишь покурив планы запросов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2015, 18:21:38 |
|
||
|
Каой из запросов более правильный (оптимальный)?
|
|||
|---|---|---|---|
|
#18+
Ch_slaДобрый Э - ЭхCh_sla, А ничего, что эти запросы семантически неэквивалентны и в общем случае возвращают совершенно разные резульутаты? Возвращают, на реальной базе, одно и тоже. они на любой базе не возвращают совершенно разное. для этого достаточно взять реальную базу, и ввести нереальное значение pd.language_id = ХХХ где ХХХ нереальное, несуществующее в базе значение) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2015, 18:37:58 |
|
||
|
Каой из запросов более правильный (оптимальный)?
|
|||
|---|---|---|---|
|
#18+
Ch_sla, да и в запросе пропущен псевдоним для таблицы продукты, он вообще не выполнится в таком виде... похоже запросы сюда не копипастились из клиента/кода. а ответ на твой плохо поставленный вопрос - первый лучше. ибо умножается не вся таблица, а лишь Н-ая часть таблицы, где Н - число языков в системе твоей ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2015, 18:40:56 |
|
||
|
Каой из запросов более правильный (оптимальный)?
|
|||
|---|---|---|---|
|
#18+
alex564657498765453Ch_slaпропущено... Возвращают, на реальной базе, одно и тоже. они на любой базе не возвращают совершенно разное. для этого достаточно взять реальную базу, и ввести нереальное значение pd.language_id = ХХХ где ХХХ нереальное, несуществующее в базе значение) ошибочка, имел ввиду - они на любой базе возвращают совершенно разное. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2015, 18:41:52 |
|
||
|
Каой из запросов более правильный (оптимальный)?
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 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. Так может семантически верно написать Код: sql 1. 2. 3. Тем более, что планы запросов одинаковы. Код: plaintext 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2015, 19:27:34 |
|
||
|
Каой из запросов более правильный (оптимальный)?
|
|||
|---|---|---|---|
|
#18+
Ch_slaТем более, что планы запросов одинаковы. Справку читать не пробовал? про то, как ВЫПОЛНЯЮТСЯ запросы? где бы ты не размещал условия в запросе с INNER JOIN - всё равно он будет преобразован в запрос с декартовым произведением и условиями отбора в секции WHERE, т.е. в: Код: sql 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2015, 21:42:14 |
|
||
|
Каой из запросов более правильный (оптимальный)?
|
|||
|---|---|---|---|
|
#18+
Ch_sla, SELECT * - как правило уже кривой запрос "по определению", за исключением некоторых случаев. Поэтому оба запроса - не оптимальны. :) Если по поводу условия, то в левом соединении первый запрос может обеспечить уменьшение поиска записей. Но только в левом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2015, 07:48:45 |
|
||
|
Каой из запросов более правильный (оптимальный)?
|
|||
|---|---|---|---|
|
#18+
Добрый Э - Эх, Для Мускуля, он не только не эквивалентны, но ещё и синтаксически неверны. Алиасы требуется писать к КАЖДОЙ таблице. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2015, 07:49:54 |
|
||
|
Каой из запросов более правильный (оптимальный)?
|
|||
|---|---|---|---|
|
#18+
Arhat109Добрый Э - Эх, Для Мускуля, он не только не эквивалентны, но ещё и синтаксически неверны. Алиасы требуется писать к КАЖДОЙ таблице. :) Вы сделали этот вывод по первому сообщению? А остальное вы не смотрели? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2015, 12:45:50 |
|
||
|
Каой из запросов более правильный (оптимальный)?
|
|||
|---|---|---|---|
|
#18+
Arhat109Ch_sla, SELECT * - как правило уже кривой запрос "по определению", за исключением некоторых случаев. Поэтому оба запроса - не оптимальны. :) Если по поводу условия, то в левом соединении первый запрос может обеспечить уменьшение поиска записей. Но только в левом. В чем кривость? Не указаны поля? А это очень существенно для вопроса? Или оптимальность заключается в том, что указав выбираемые поля, и запрос станет более оптимальным? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2015, 12:48:16 |
|
||
|
Каой из запросов более правильный (оптимальный)?
|
|||
|---|---|---|---|
|
#18+
Ch_slaВы сделали этот вывод по первому сообщению? А остальное вы не смотрели?Я посмотрел.Ch_slaТем более, что планы запросов одинаковы. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2015, 13:36:48 |
|
||
|
Каой из запросов более правильный (оптимальный)?
|
|||
|---|---|---|---|
|
#18+
Ch_sla, Ну как-бы да. Селект * - есть плохо и неоптимально по определению. И при широких табличках - часто является главным тормозом выборки. Зачастую этого вполне достаточно чтобы запрос стал "неоптимальным". :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2015, 16:08:29 |
|
||
|
Каой из запросов более правильный (оптимальный)?
|
|||
|---|---|---|---|
|
#18+
Ch_sla... Я так и не понял что вам нужно в результате: 1. Продукт и если есть описание на языке 1 то и оно 2. Продукт у которого есть описание и оно на языке 1. мне почемуто кажется что продукт вам нужен в любом случае, не зависимо от того есть в к нему описание на нужном языке или нет, и в этом случае ед. вариантом будет: Код: sql 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2015, 20:34:09 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=38875084&tid=1833594]: |
0ms |
get settings: |
10ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
146ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
74ms |
get tp. blocked users: |
2ms |
| others: | 237ms |
| total: | 511ms |

| 0 / 0 |
