|
|
|
Отсутствие descend-индекса влияет на распределение random-значений. Как это ?!
|
|||
|---|---|---|---|
|
#18+
hi all Народ, объясните крестьянину, плз: каким образом наличие descend-индекса (и, след., возможность быстро хапать по нему max(id)) может влиять на.... рандом-распределение выводимых значений ?! DDL: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Теперь ввожу на выполнение: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. - и получаю всё время какие-то "странно-маленькие" ID'шники: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. А теперь добавляю индекс: Код: plaintext 1. - и повторяю ввод этого же кода: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Получаю при это вполне себе нормальное распределение: Код: 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. Ы ?! PS. Код: plaintext 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2014, 18:00:11 |
|
||
|
Отсутствие descend-индекса влияет на распределение random-значений. Как это ?!
|
|||
|---|---|---|---|
|
#18+
то же самое вижу на Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2014, 18:03:51 |
|
||
|
Отсутствие descend-индекса влияет на распределение random-значений. Как это ?!
|
|||
|---|---|---|---|
|
#18+
Таблоид, а если вот так Код: sql 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2014, 18:05:00 |
|
||
|
Отсутствие descend-индекса влияет на распределение random-значений. Как это ?!
|
|||
|---|---|---|---|
|
#18+
Симонов ДенисТаблоид, а если вот так Код: sql 1. 2. 3. 4. 5. то же самое. БЕЗ индекса "спасает" от перекоса только вот этот вариант: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2014, 18:10:53 |
|
||
|
Отсутствие descend-индекса влияет на распределение random-значений. Как это ?!
|
|||
|---|---|---|---|
|
#18+
Таблоид, я имел ввиду, что rows 1 без order by может выдать не совсем желаемое, но в случае с rand конечно пофиг. а с индексом этот вариант как себя ведёт? Код: sql 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2014, 18:16:56 |
|
||
|
Отсутствие descend-индекса влияет на распределение random-значений. Как это ?!
|
|||
|---|---|---|---|
|
#18+
Сабж не совсем корректен: это вообще индекс влияет, неважно какой: asc / desc. Добавление ascend-индекса также приводит выборку в норму. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2014, 18:17:08 |
|
||
|
Отсутствие descend-индекса влияет на распределение random-значений. Как это ?!
|
|||
|---|---|---|---|
|
#18+
Симонов Денис Код: sql 1. 2. Он выдаёт 20 строк с одним и тем же значением, равным max(id) (в моём случае - 20 строк с 63001 :)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2014, 18:19:41 |
|
||
|
Отсутствие descend-индекса влияет на распределение random-значений. Как это ?!
|
|||
|---|---|---|---|
|
#18+
ТаблоидСимонов Денис Код: sql 1. 2. Он выдаёт 20 строк с одним и тем же значением, равным max(id) (в моём случае - 20 строк с 63001 :))да и все прочие варианты - то же. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2014, 18:21:46 |
|
||
|
Отсутствие descend-индекса влияет на распределение random-значений. Как это ?!
|
|||
|---|---|---|---|
|
#18+
"Ну, вы, блин, даёте..." (с) Поставьте себя на место сервера и учтите, что подзапрос он традиционно выполняет для каждой проверяемой записи в таблице. Вот проверяет он запись 1, выполняет подзапрос. Проверяет запись 2, выполняет подзапрос. Какая вероятность того, что тервер сдастся и к 200-й попытке таки сгенерит случайное значение меньшее чем текущий номер?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2014, 18:56:32 |
|
||
|
Отсутствие descend-индекса влияет на распределение random-значений. Как это ?!
|
|||
|---|---|---|---|
|
#18+
Хорошо, вот то же самое, но через джойны: Код: sql 1. 2. 3. 4. == vs == Код: sql 1. 2. 3. 4. Отличия в планах я не вижу (видать, опять что-то не показывает), отличие в результате - разительное. При создании индекса план будет:PLAN JOIN (SORT (M TMP ORDER TMP_ID), U INDEX (TMP_ID)) - и результат станет уже нормальным. Но ведь это всё равно JOIN, и в нём опять на каждой итерации поля в каждом источнике должны "перевычисляться" для каждой записи. Я не догоняю, почему при индексе всё становится на свои места. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2014, 19:15:35 |
|
||
|
|

start [/forum/topic.php?fid=40&fpage=101&tid=1563832]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
73ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
2ms |
| others: | 212ms |
| total: | 387ms |

| 0 / 0 |
