|
|
|
Оцените пожалуйста время выполнения выборки одной случайной записи
|
|||
|---|---|---|---|
|
#18+
для больших таблиц. У меня под рукой нету больших таблиц, поэтому не могу оценить Запрос такой: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2013, 05:03:10 |
|
||
|
Оцените пожалуйста время выполнения выборки одной случайной записи
|
|||
|---|---|---|---|
|
#18+
Spot, CREATE TABLE t2 AS SELECT MD5(RAND()) X FROM (SELECT 1 z UNION SELECT 2 UNION SELECT 3 UNION SELECT 4) z1, (SELECT 1 z UNION SELECT 2 UNION SELECT 3 UNION SELECT 4) z2, (SELECT 1 z UNION SELECT 2 UNION SELECT 3 UNION SELECT 4) z3, (SELECT 1 z UNION SELECT 2 UNION SELECT 3 UNION SELECT 4) z4, (SELECT 1 z UNION SELECT 2 UNION SELECT 3 UNION SELECT 4) z5, (SELECT 1 z UNION SELECT 2 UNION SELECT 3 UNION SELECT 4) z6, (SELECT 1 z UNION SELECT 2 UNION SELECT 3 UNION SELECT 4) z7, (SELECT 1 z UNION SELECT 2 UNION SELECT 3 UNION SELECT 4) z8, (SELECT 1 z UNION SELECT 2 UNION SELECT 3 UNION SELECT 4) z9, (SELECT 1 z UNION SELECT 2 UNION SELECT 3 UNION SELECT 4) z0 1048576 row(s) affected Execution Time : 00:00:21:187 Transfer Time : 00:00:00:000 Total Time : 00:00:21:187 CREATE INDEX ind_x ON t2(X); 1048576 row(s) affected Execution Time : 00:00:45:031 Transfer Time : 00:00:00:000 Total Time : 00:00:45:031 SELECT FLOOR ( (SELECT MIN(X) FROM `t2`) + RAND() * ( (SELECT MAX(X) FROM `t2`)-(SELECT MIN(X) FROM `t2`)+1 ) ) z2 FROM t2 LIMIT 1 16 ms в первый раз, потом <1 ms Експлаин -- все подвыборки: "optimized away" Вин7-54, ИНтел-Е5400@2.7ГГ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2013, 05:45:31 |
|
||
|
Оцените пожалуйста время выполнения выборки одной случайной записи
|
|||
|---|---|---|---|
|
#18+
т. Е. Смело можно пользоваться такой выборкой, не боясь, что с ростом базы будет тормозить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2013, 08:36:33 |
|
||
|
Оцените пожалуйста время выполнения выборки одной случайной записи
|
|||
|---|---|---|---|
|
#18+
Spotт. Е. Смело можно пользоваться такой выборкой, не боясь, что с ростом базы будет тормозить? да. Этот запрос имеет нулевую "мощность" -- время его выполнения не зависит от размера. (в какой-то момент индех может НЕ влезть в память, и будет опять 16 мс вместь доли милисекунды) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2013, 14:44:55 |
|
||
|
Оцените пожалуйста время выполнения выборки одной случайной записи
|
|||
|---|---|---|---|
|
#18+
javajdbcSpotт. Е. Смело можно пользоваться такой выборкой, не боясь, что с ростом базы будет тормозить? да. Этот запрос имеет нулевую "мощность" -- время его выполнения не зависит от размера. (в какой-то момент индех может НЕ влезть в память, и будет опять 16 мс вместь доли милисекунды) Зависит, это O(log N), если есть индекс по ID. Если нет -- линейно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2013, 17:00:32 |
|
||
|
Оцените пожалуйста время выполнения выборки одной случайной записи
|
|||
|---|---|---|---|
|
#18+
MasterZivjavajdbcпропущено... да. Этот запрос имеет нулевую "мощность" -- время его выполнения не зависит от размера. (в какой-то момент индех может НЕ влезть в память, и будет опять 16 мс вместь доли милисекунды) Зависит, это O(log N), если есть индекс по ID. Если нет -- линейно. без индекса эту задачу врядли кто будет делать. А с индексом -- задача найти первую и последнюю запись в индексе. Неужели эта задача О(логН) ? скорее О(конст) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2013, 17:53:04 |
|
||
|
Оцените пожалуйста время выполнения выборки одной случайной записи
|
|||
|---|---|---|---|
|
#18+
javajdbcMasterZivпропущено... Зависит, это O(log N), если есть индекс по ID. Если нет -- линейно. без индекса эту задачу врядли кто будет делать. А с индексом -- задача найти первую и последнюю запись в индексе. Неужели эта задача О(логН) ? скорее О(конст) Нет, O(log N). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2013, 21:33:43 |
|
||
|
Оцените пожалуйста время выполнения выборки одной случайной записи
|
|||
|---|---|---|---|
|
#18+
MasterZiv, это последняя. Первая всё же О(конст) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2013, 07:15:18 |
|
||
|
Оцените пожалуйста время выполнения выборки одной случайной записи
|
|||
|---|---|---|---|
|
#18+
Спасибо всем! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2013, 04:29:08 |
|
||
|
Оцените пожалуйста время выполнения выборки одной случайной записи
|
|||
|---|---|---|---|
|
#18+
Spotдля больших таблиц. У меня под рукой нету больших таблиц, поэтому не могу оценить Запрос такой: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. А почему бы не использовать более оптимальный запрос? Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2013, 09:49:58 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=38346087&tid=1836372]: |
0ms |
get settings: |
6ms |
get forum list: |
15ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
38ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 206ms |
| total: | 322ms |

| 0 / 0 |
