|
Count(distinct)
|
|||
---|---|---|---|
#18+
Наткнулся на код, который убивае. Нужно его переписать, а мозг отказывается сотрудничать. Код: vbnet 1. 2.
Второй запрос мегатормозной, очевидно из-за in. Я понимаю, что это хрень, но как её переписать то корректно? Убирание distinct проблему не решает ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2015, 16:54 |
|
Count(distinct)
|
|||
---|---|---|---|
#18+
Сделайте нормальный запрос, а не DCount(). ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2015, 19:05 |
|
Count(distinct)
|
|||
---|---|---|---|
#18+
Akina, не поверишь, но Код: vbnet 1.
ничем не отличается от Код: sql 1.
Что-то я так и не понял, как это можно нормально переписать по другому... Добавил индекс на rvb_number, помогло, конечно, но не летает. На 70000+ записях задержка около секунды... (раньше было около минуты) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2015, 19:12 |
|
Count(distinct)
|
|||
---|---|---|---|
#18+
Код: sql 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2015, 19:59 |
|
Count(distinct)
|
|||
---|---|---|---|
#18+
Шыфлне поверишь, но [skipped] ничем не отличается от [skipped] Не поверю. Второе прекрасно переписывается в форму без подзапроса. И при наличии индексов взлетает. А первое обречено хромать. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2015, 21:33 |
|
Count(distinct)
|
|||
---|---|---|---|
#18+
__Michelle Код: sql 1. 2. 3. 4. 5. 6.
Неа, так записи дублируются, потому что в таблице нет первичного ключа (не спрашивайте почему) AkinaНе поверю. Второе прекрасно переписывается в форму без подзапроса. И при наличии индексов взлетает. А первое обречено хромать. Вот как это, прекрасно? Join задваивает записи, а первичного ключа нет... ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2015, 12:23 |
|
Count(distinct)
|
|||
---|---|---|---|
#18+
Шыфл Неа, так записи дублируются, потому что в таблице нет первичного ключа....Вы пробовали? Или просто предполагаете? У меня не задваиваются, проверила. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2015, 12:41 |
|
Count(distinct)
|
|||
---|---|---|---|
#18+
__Michelle, ну посчитайте, сколько получается? Код: 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2015, 13:01 |
|
Count(distinct)
|
|||
---|---|---|---|
#18+
Шыфл, Что именно посчитать? Я даже не знаю, это исходная таблица или результат выполнения запроса (рассматривать пристально rvd_number в поисках одинаковых как-то не очень, так уж точно ошибусь). Ведь, если правильно понимаю, нужно получить общее количество записей с теми rvd_number, хотя бы для одного из которых checked=true. Да? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2015, 14:14 |
|
Count(distinct)
|
|||
---|---|---|---|
#18+
__Michelle, да, так и надо посчитать, всё строчки, rvd_number у которых хотя бы хотя бы для одного checked=true. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2015, 14:27 |
|
Count(distinct)
|
|||
---|---|---|---|
#18+
Шыфл, Мне кажется, мой запрос делает именно это. Разве нет? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2015, 14:34 |
|
Count(distinct)
|
|||
---|---|---|---|
#18+
__MichelleШыфл, Мне кажется, мой запрос делает именно это. Разве нет? Ну так возьмите тестовые данные, и посмотрите, что ваш запрос выдаст 90, а мой - 30... Почему это, интересно? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2015, 14:52 |
|
Count(distinct)
|
|||
---|---|---|---|
#18+
Да, действительно, результат не тот . Хотя и не 90. Вот поправленный запрос Код: sql 1. 2. 3. 4.
Результат 30. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2015, 13:33 |
|
Count(distinct)
|
|||
---|---|---|---|
#18+
__Michelle, спасибо, работает намного быстрее, чем оригинальный вариант. Хотя я так и не понял, зачем там Z. Использую вариант Код: sql 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
21.12.2015, 16:43 |
|
|
start [/forum/moderation_log.php?user_name=%D0%94%D0%B0-%D1%83%D0%B6]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
93ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
2ms |
others: | 493ms |
total: | 704ms |
0 / 0 |