|
|
|
2 Дед Маздай. Приглашение на тест
|
|||
|---|---|---|---|
|
#18+
Небольшая модификация алгоритма SuperSerg привела к тому что подсчет счастливых билетов на T-SQL стал выполняться вместо 2223 ms стало 80-90 ms (у меня тачка слабая P3 800 128 Мб и куча приложений запущено). Все таки этот тест мало что покажет дело в том, кто как реализует алгоритмы и что позволяет та или иная среда разработки. Вот немного измененный алгоритм SuperSerg'а. Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2002, 16:31:05 |
|
||
|
2 Дед Маздай. Приглашение на тест
|
|||
|---|---|---|---|
|
#18+
Я не Дед Мазай но все же 110ms ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2002, 16:39:13 |
|
||
|
2 Дед Маздай. Приглашение на тест
|
|||
|---|---|---|---|
|
#18+
93 ms ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2002, 16:40:08 |
|
||
|
2 Дед Маздай. Приглашение на тест
|
|||
|---|---|---|---|
|
#18+
что за тачка? у меня 80 стабильно. Я сейчас долго вспоминал тервер, но что то так и не смог я к этой задаче его привязать поэтому только смог так модифицировать. Но кажется что можно в лоб при помощи тервера посчитать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2002, 16:44:23 |
|
||
|
2 Дед Маздай. Приглашение на тест
|
|||
|---|---|---|---|
|
#18+
от 60 до 80 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2002, 16:48:43 |
|
||
|
2 Дед Маздай. Приглашение на тест
|
|||
|---|---|---|---|
|
#18+
63 (PIII-1Гц) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2002, 16:52:03 |
|
||
|
2 Дед Маздай. Приглашение на тест
|
|||
|---|---|---|---|
|
#18+
80-90 P3 933 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2002, 17:00:54 |
|
||
|
2 Дед Маздай. Приглашение на тест
|
|||
|---|---|---|---|
|
#18+
40 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2002, 17:01:05 |
|
||
|
2 Дед Маздай. Приглашение на тест
|
|||
|---|---|---|---|
|
#18+
2 tyblin У тебя наверно тачка помощней моей будет. Но все же я еще оптимизировал и теперь результат c вероятностью 1/2 - 40ms, 50ms опять же на P3-800. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2002, 17:38:28 |
|
||
|
2 Дед Маздай. Приглашение на тест
|
|||
|---|---|---|---|
|
#18+
MSDE на PIV Northwood 2 Gh 256 Mb ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2002, 17:50:36 |
|
||
|
2 Дед Маздай. Приглашение на тест
|
|||
|---|---|---|---|
|
#18+
Ну конечно спору нет 2Ghz против моих 800 Mhz. Но все же результата я добился такого же 40 ms как и на 2 Ghz немного подумав над задачей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2002, 17:58:54 |
|
||
|
2 Дед Маздай. Приглашение на тест
|
|||
|---|---|---|---|
|
#18+
от 60 до 80 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2002, 18:12:07 |
|
||
|
2 Дед Маздай. Приглашение на тест
|
|||
|---|---|---|---|
|
#18+
Вот более оптимизированный алгоритм подсчета (можно конечно было расширенную сделать, но влом понятное дело быстрее будет хочется на T-SQL добиться лучших результатов) Код: 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. Этот алгоритм мало чем отличается от предыдущего единственная разница в том, что цикл выполняется до 14 потому что задача имеет симметрию, т.е. для @i=k где k=0-13 и для @i=27-k count(*) равны. Поэтому мы пробегаем половину цикла, а результат умножаем на 2. Да, зато как разочаровался я в MSSQL по поводу отсутствия на T-SQL массивов, если раньше я считал на хрена массивы когда есть таблицы и чем они хуже массивов. На первый взгляд они лучше, но время работы очень медленное. Вот думал будет побыстрее Код: 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. Считать, он считает но за 450 это совсем никуда негодиться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2002, 18:51:19 |
|
||
|
2 Дед Маздай. Приглашение на тест
|
|||
|---|---|---|---|
|
#18+
Все вылезли из сервера результат - 34-36ms ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2002, 20:21:22 |
|
||
|
2 Дед Маздай. Приглашение на тест
|
|||
|---|---|---|---|
|
#18+
Да, зато как разочаровался я в MSSQL по поводу отсутствия на T-SQL массивов, если раньше я считал на хрена массивы когда есть таблицы и чем они хуже массивов. На первый взгляд они лучше, но время работы очень медленное. По этому поводу в BOL к SQL2000 сказано следующее: Use table variables instead of temporary tables, whenever possible. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2002, 20:56:37 |
|
||
|
2 Дед Маздай. Приглашение на тест
|
|||
|---|---|---|---|
|
#18+
А где же Дед Маздай ?? :) AMD 1800+ 512 Mb от 30-70 XP + куча ерунды последний раз ставил месяц назад но с этих пор много ... натекло И еще чего хотели добиться? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2002, 22:20:30 |
|
||
|
2 Дед Маздай. Приглашение на тест
|
|||
|---|---|---|---|
|
#18+
2 SergCat Я как то не подумал что они(table variables) будут быстрее работать. Проверил ни какой разницы в производительности нет между table variables и временными таблицами. Вернее есть но в худшую сторону table variables 490-500 ms #t 440-450 ms Очень жаль а так хотелось что бы работали как обычные массивы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2002, 08:39:00 |
|
||
|
2 Дед Маздай. Приглашение на тест
|
|||
|---|---|---|---|
|
#18+
2 Алексей Кубенко Суть то была чтобы заставить сервер считать, а не наоборот :) По Вашему методу я еще в 8-м классе подсчитал количество на бумажке в столбик. Кстати мой самый первый сервер ( P90, MS SQL 4) считал это 38 сек. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2002, 09:25:46 |
|
||
|
2 Дед Маздай. Приглашение на тест
|
|||
|---|---|---|---|
|
#18+
130 (227 Mhz 280 Ram) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2002, 09:44:59 |
|
||
|
2 Дед Маздай. Приглашение на тест
|
|||
|---|---|---|---|
|
#18+
у меня от 30 до 13... Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2002, 10:01:35 |
|
||
|
2 Дед Маздай. Приглашение на тест
|
|||
|---|---|---|---|
|
#18+
да и притом что с времменной таблицей 30-60..... и всетаки она в памяти.... если конечно ее хватает.. ;)) всем бай.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2002, 10:07:36 |
|
||
|
2 Дед Маздай. Приглашение на тест
|
|||
|---|---|---|---|
|
#18+
Server peregruzhen(pashet 2 mesyaca bez reboot), okolo 20 TS client, ezheminutno startujut 15 jobs... Tem ne menee - 16ms. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2002, 10:28:42 |
|
||
|
2 Дед Маздай. Приглашение на тест
|
|||
|---|---|---|---|
|
#18+
Этот алгоритм можно изменить, чтобы он считал от 0 до 16ms: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2002, 11:15:40 |
|
||
|
2 Дед Маздай. Приглашение на тест
|
|||
|---|---|---|---|
|
#18+
по моему всетаки так лучше.... но это мелочи... Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2002, 11:57:33 |
|
||
|
2 Дед Маздай. Приглашение на тест
|
|||
|---|---|---|---|
|
#18+
Хотя время примерно то же самое - от 0 до 16 ms, в плане твоего запроса, MiCe, оценочная стоимость в 2 раза больше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2002, 12:39:30 |
|
||
|
2 Дед Маздай. Приглашение на тест
|
|||
|---|---|---|---|
|
#18+
Можно и дальше пооптимизировать. Практически всегда 0ms и оценочная стоимость плана меньше 2-х предыдущих вариантов: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2002, 13:23:53 |
|
||
|
2 Дед Маздай. Приглашение на тест
|
|||
|---|---|---|---|
|
#18+
А если то же самое на OpenSQL для SAP R/3 переписать, то результат будет 26000ms для варианта SergSuper Код: 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. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 1000ms для варианта Кубенко Код: 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. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. Вот такой я извращенец!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2002, 14:10:24 |
|
||
|
2 Дед Маздай. Приглашение на тест
|
|||
|---|---|---|---|
|
#18+
то Dankov ну правильно ... оптимизация... она и в африке оптимизация... ;)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2002, 14:42:52 |
|
||
|
2 Дед Маздай. Приглашение на тест
|
|||
|---|---|---|---|
|
#18+
2 SergSuper Я не пойму что вас не устраивает в предложенных алгоритмах. Дед Маздай в форуме по сравнению СУБД пригласил всех на тест по сравнению производительности различных СУБД. Вами был предложен красивый вариант с декартовым произведением (о котором мне вряд ли бы пришла в голову мысль), но он оказался не самым оптимальным, как впрочем и то что предложил я. Зато каких результатов добились Dankov и Mice! А по поводу столбика я что-то не пойму к чему вы это? По поводу полного перебора? Ну плохой вариант не спорю, просто я хотел проверить чистый перебор для последних трех разрядов, а затем посчитать сумму квадратов на транзакте это получилось медленно, но на сях это в любом случае было бы быстрее любого варианта написанного на транзакте. А выложил этот вариант по полному перебору потому что обидно что нет массивов в T-SQL, а работа с таблицами (обновление) дико тормозная. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2002, 14:49:14 |
|
||
|
2 Дед Маздай. Приглашение на тест
|
|||
|---|---|---|---|
|
#18+
2 Алексей Кубенко Меня всё устраивает, просто тест был для сервера, а не на Вашу сообразительность :) Наоборот хотелось написать такого, чтоб он побольше задумался. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2002, 17:16:16 |
|
||
|
2 Дед Маздай. Приглашение на тест
|
|||
|---|---|---|---|
|
#18+
"Дед Маздай в форуме по сравнению СУБД пригласил всех на тест по сравнению производительности различных СУБД. Вами был предложен красивый вариант с декартовым произведением (о котором мне вряд ли бы пришла в голову мысль), но он оказался не самым оптимальным..." Странно. Разве я говорил что-нибудь про оптимизацию запроса? По-моему, как раз наоборот: "ТРС-С - типисями, а этот простой тест под силу проверить каждому. Просто взять и выполнить, как есть, без какой бы то ни было предварительной заточки и оптимизации." Очень хорошо, что в ходе дискуссии родились действительно красивые конструкции, но SergSuper прав: в данном случае этого не требовалось. Требовался просто голый результат as is. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2002, 06:46:20 |
|
||
|
|

start [/forum/topic.php?all=1&fid=46&tid=1821523]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
82ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
| others: | 225ms |
| total: | 409ms |

| 0 / 0 |
