|
|
|
Два запроса в 100 раз быстрее одного, как сделать один быстрее
|
|||
|---|---|---|---|
|
#18+
Один запрос: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. выполняется в среднем 0.02 с. Два запроса отжатых из одного выше: Код: sql 1. 2. 3. 4. 5. 6. Код: sql 1. 2. 3. 4. 5. 6. выполняются кажды по 0.001 с, или вместе примерно 0.002 с. Процедурно обрабатывать результаты двух запросов не очень сложно, но ныне компактная функция обработки мгновенно раздулась при попытке реализовать (до конца не довел увидев как она раздувается). Вопрос, можно ли сделать один запрос побыстрее чем первый? Я пытался соорудить вложенный силект и обломился. Есть теория что без джойна будет быстрее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2014, 11:48:53 |
|
||
|
Два запроса в 100 раз быстрее одного, как сделать один быстрее
|
|||
|---|---|---|---|
|
#18+
Логика такова. Есть артикул, у него может быть от 0 и до Х фоток. Артикул надо получить независимо о Х фоток. При этом получить надо только соответствующую единственную или одну фотку если их там до Х. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2014, 11:51:42 |
|
||
|
Два запроса в 100 раз быстрее одного, как сделать один быстрее
|
|||
|---|---|---|---|
|
#18+
deblogger, Having замените на where . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2014, 12:33:25 |
|
||
|
Два запроса в 100 раз быстрее одного, как сделать один быстрее
|
|||
|---|---|---|---|
|
#18+
Не могу, там алиас на номер фотки, которого может не быть и приходится заменять null на 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2014, 13:08:13 |
|
||
|
Два запроса в 100 раз быстрее одного, как сделать один быстрее
|
|||
|---|---|---|---|
|
#18+
А если не заменять то left join вырождается в inner join с вытекающим отсутствием артикула из-за отсутствия хотя бы одной фотки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2014, 13:10:46 |
|
||
|
Два запроса в 100 раз быстрее одного, как сделать один быстрее
|
|||
|---|---|---|---|
|
#18+
С inner'ом вообще половину можно выкинут воткнув все условия прямо в join. Но логику я изложил. Артикул нужен всегда, а на фотки - положить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2014, 13:11:53 |
|
||
|
Два запроса в 100 раз быстрее одного, как сделать один быстрее
|
|||
|---|---|---|---|
|
#18+
debloggerНе могу, там алиас на номер фотки, которого может не быть и приходится заменять null на 1.Можете, используйте полное выражение вместо алиаса. И уж in (47,74,75) точно ничего не мешает перенести в WHERE. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2014, 14:01:14 |
|
||
|
|

start [/forum/topic.php?fid=47&fpage=187&tid=1835188]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
51ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
| others: | 237ms |
| total: | 362ms |

| 0 / 0 |
