|
Почему так медленно SELECT COUNT(*)
|
|||
---|---|---|---|
#18+
B.после того, как мне попался этот форум, утром на работу стало приходить ужасно интересно - открываешь форум и читаешь какие-то вопли в свой адрес. причем вопли очень "профессиональные". у вас проблемы? может, конечно, я просто не понимаю специфику росийского оракловского "community", которое иногда сильно смахивает на базар. еще раз. Direct-Path INSERT: http://download-west.oracle.com/docs/cd/B10501_01/server.920/a96524/c21dlins.htm#10629 LMT: http://asktom.oracle.com/pls/ask/f?p=4950:8:::::F4950_P8_DISPLAYID:733126913855 интересно было бы услышать от вас что-нибудь по существу По существу: Каким боком к обсуждаемой здесь теме - select count(*)/count(1) - относятся эти ссылки? Причем здесь direct-path insert и LMT? В.(*) ili (1), or (8), ili chto ugodno - ne immet znachenia. В.(*), (1), (8), (6)...etc - eto uslovnie znachki dla count na vse zapisi... http://download-west.oracle.com/docs/cd/B10501_01/server.920/a96540/functions26a.htm#82699 Это не "значки", а выражения. Осторожней, пожалуйста, с советами, особенно категоричными. P.S. Я никогда не считал, что в последних версиях Oracle count(1) быстрее count(*), поэтому данный вопрос не обсуждаю. Каждый (как мне наивно кажется) способен проверить этот факт. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2004, 13:23 |
|
Почему так медленно SELECT COUNT(*)
|
|||
---|---|---|---|
#18+
Марленков, никаким! Это надо было мне запостить туда, где про RBS и где какие-то факеры почему-то вопят ужасно, словно я у них последний кусок хлеба изо рта вырываю... - кошмар, одной рукой делаю одно, другой другое, а сейчас вот убегаю на работу. Sorry за накладку. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2004, 16:56 |
|
Почему так медленно SELECT COUNT(*)
|
|||
---|---|---|---|
#18+
OffTopic: Кайт Юлий Цезарь ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2004, 08:11 |
|
Почему так медленно SELECT COUNT(*)
|
|||
---|---|---|---|
#18+
собери статистику по таблице, будет быстрее работать ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2004, 09:55 |
|
Почему так медленно SELECT COUNT(*)
|
|||
---|---|---|---|
#18+
момент 1 если нет PK -- то FULL TABLE SCAN от сбора статистики не работает быстрее. момент 2 . Если же PK есть то для использования FFS по PK нужно сделать так, чтобы работал CBO . Для этого необязательно собирать статистику, можно указать optimizer_goal для сессии или хинт указывающий optimizer approach (FIRST_ROWS,ALL_ROWS) Regards. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2004, 10:25 |
|
Почему так медленно SELECT COUNT(*)
|
|||
---|---|---|---|
#18+
Oracle newbieмомент 1 если нет PK -- то FULL TABLE SCAN от сбора статистики не работает быстрее. Regards. Необязательно PK, достаточно просто индекса по not null полю. Код: 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2004, 10:50 |
|
Почему так медленно SELECT COUNT(*)
|
|||
---|---|---|---|
#18+
Да, о NOT NULL я и не подумал. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2004, 11:04 |
|
Почему так медленно SELECT COUNT(*)
|
|||
---|---|---|---|
#18+
В.Марленков, никаким! Это надо было мне запостить туда, где про RBS и где какие-то факеры почему-то вопят ужасно, словно я у них последний кусок хлеба изо рта вырываю... - кошмар, одной рукой делаю одно, другой другое, а сейчас вот убегаю на работу. Sorry за накладку. А второй рукой ты этот последний кусок к себе в рот запихиваешь? Я его достаточно хорошо разжевал? Ты бы попросил, я б тебе купил пирожок (с котятами), а то бедняжка... голодный... на работу... бегом.... Fucker ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2004, 11:11 |
|
Почему так медленно SELECT COUNT(*)
|
|||
---|---|---|---|
#18+
2 Fucker Я все понял! Понял! Понял! Fucker - американский зас л анец, посланый для развала оборонной мощи России ;-) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2004, 11:36 |
|
Почему так медленно SELECT COUNT(*)
|
|||
---|---|---|---|
#18+
Markelenkov2 Fucker Я все понял! Понял! Понял! Fucker - американский зас л анец, посланый для развала оборонной мощи России ;-) Вы меня обижаете ;-), в свое время я тоже немало сделал для укрепления этой самой мощи. А по поводу имени, ну что я могу сказать? Fucker - это ведь не только "распутник", "негодяй", "прохвост", "хрен", "говнюк", "дурачок" и "ёб%рь" но и "друг", "чувак", "мужик" и даже "красавец" Так что, наверно таким я и останусь. Ну, предположим, выберу я себе другое имя, а завтра оно еще кому-то не понравится... Видно так и помирать мне Fucker\'ом... Fucker PS.: И появится тогда killed Fucker ;-) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2004, 12:29 |
|
Почему так медленно SELECT COUNT(*)
|
|||
---|---|---|---|
#18+
Кстати, Пинк свою собачку так же назвала. Говорит, буду лежать на пляжу и звать: Hey, Fucker! Fucker!, все мужчины будут оборачиваться, а я им: Да не ты! Не ты! ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2004, 12:37 |
|
Почему так медленно SELECT COUNT(*)
|
|||
---|---|---|---|
#18+
Fucker Markelenkov2 Fucker Я все понял! Понял! Понял! Fucker - американский зас л анец, посланый для развала оборонной мощи России ;-) Вы меня обижаете ;-), в свое время я тоже немало сделал для укрепления этой самой мощи. А по поводу имени, ну что я могу сказать? Fucker - это ведь не только "распутник", "негодяй", "прохвост", "хрен", "говнюк", "дурачок" и "ёб%рь" но и "друг", "чувак", "мужик" и даже "красавец" Так что, наверно таким я и останусь. Ну, предположим, выберу я себе другое имя, а завтра оно еще кому-то не понравится... Видно так и помирать мне Fucker\'ом... Fucker PS.: И появится тогда killed Fucker ;-) Имя-то мне нравицца ;-) Подпись - не нравицца. Лучше подписываться типа Fucker, 30306 Искать по форуму станет удобно, оборонная мощь государства укрепится ;-) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2004, 12:37 |
|
Почему так медленно SELECT COUNT(*)
|
|||
---|---|---|---|
#18+
по моему в молоко. Совсем разные стили ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2004, 13:00 |
|
Почему так медленно SELECT COUNT(*)
|
|||
---|---|---|---|
#18+
MarkelenkovИмя-то мне нравицца ;-) Подпись - не нравицца. Лучше подписываться типа Fucker, 30306 А так низззя, это чужой номер. Нельзя обижать товарищей ;-) Fucker PS.: Это уже наверно третья попытка "снять маски". Как нас можно спутать, не понимаю, мы ведь совсем непохожи. Он усатый с щечками, а я свои усы уже лет десять как сбрил. И, кстати, 30306 оборонную мощь России не укреплял PPS.: Вот и killed подтверждает ;-) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2004, 14:23 |
|
Почему так медленно SELECT COUNT(*)
|
|||
---|---|---|---|
#18+
зато я укреплял красную кнопку целых секунды три держал ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2004, 16:08 |
|
Почему так медленно SELECT COUNT(*)
|
|||
---|---|---|---|
#18+
FuckerА так низззя, это чужой номер. Нельзя обижать товарищей ;-) Ладно, не добиться мине щастья, не уговорить ;-) Бум обходиться без поиска... ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2004, 16:20 |
|
Почему так медленно SELECT COUNT(*)
|
|||
---|---|---|---|
#18+
Fucker - это ведь не только "распутник", "негодяй", "прохвост", "хрен", "говнюк", "дурачок" и "ёбрь" но и "друг", "чувак", "мужик" и даже "красавец" Тут я уже не могу молчать, потому что ладно еще, когда ты ржал над тривиальными и вполне известными вещами (я уверена, что ты умный человек, любящий свою профессию и свои "skills" ты разовьешь), но ты затронул язык, а язык это святое. Я не знаю, кто тебе сказал, что твое имя Fucker имеет все эти значения, но они сказали тебе неправду, не верь им, потому что из перечисленных тобою значений Fucker имеет лишь два и они суть "ёбрь" и "говнюк" Если ты мне как обычно не веришь зайди вот сюда и проверь: http://dictionary.reference.com/ Можешь также сходить на сайт Oxford, у меня сейчас нет времени тебе искать этот сайт, сам найдешь. Ну ладно, побежала я опять на работу. Не обижайся, ладно? Всего тебе самого доброго. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2004, 18:39 |
|
Почему так медленно SELECT COUNT(*)
|
|||
---|---|---|---|
#18+
а по русски, "еб%рь" вполне может быть и "красавцем" . Хотя кто поймет этих женщин? Regards. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2004, 18:46 |
|
Почему так медленно SELECT COUNT(*)
|
|||
---|---|---|---|
#18+
B.Fucker - это ведь не только "распутник", "негодяй", "прохвост", "хрен", "говнюк", "дурачок" и "ёбрь" но и "друг", "чувак", "мужик" и даже "красавец" Тут я уже не могу молчать, потому что ладно еще, когда ты ржал над тривиальными и вполне известными вещами (я уверена, что ты умный человек, любящий свою профессию и свои "skills" ты разовьешь), но ты затронул язык, а язык это святое. Я не знаю, кто тебе сказал, что твое имя Fucker имеет все эти значения, но они сказали тебе неправду, не верь им, потому что из перечисленных тобою значений Fucker имеет лишь два и они суть "ёбрь" и "говнюк" Если ты мне как обычно не веришь зайди вот сюда и проверь: http://dictionary.reference.com/ Можешь также сходить на сайт Oxford, у меня сейчас нет времени тебе искать этот сайт, сам найдешь. Ну ладно, побежала я опять на работу. Не обижайся, ладно? Всего тебе самого доброго. Оказывается, В. - дама :-O Учтем-с, бум помяхше, потоньше, повежливше... P.S. Есть женщины в американских селеньях... Гы-ы-ы-ы ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2004, 19:30 |
|
Почему так медленно SELECT COUNT(*)
|
|||
---|---|---|---|
#18+
B.Fucker - это ведь не только "распутник", "негодяй", "прохвост", "хрен", "говнюк", "дурачок" и "ёбрь" но и "друг", "чувак", "мужик" и даже "красавец" Тут я уже не могу молчать, потому что ладно еще, когда ты ржал над тривиальными и вполне известными вещами (я уверена, что ты умный человек, любящий свою профессию и свои "skills" ты разовьешь), но ты затронул язык, а язык это святое. Я не знаю, кто тебе сказал, что твое имя Fucker имеет все эти значения, но они сказали тебе неправду, не верь им, потому что из перечисленных тобою значений Fucker имеет лишь два и они суть "ёбрь" и "говнюк" Если ты мне как обычно не веришь зайди вот сюда и проверь: http://dictionary.reference.com/ Можешь также сходить на сайт Oxford, у меня сейчас нет времени тебе искать этот сайт, сам найдешь. Ну ладно, побежала я опять на работу. Не обижайся, ладно? Всего тебе самого доброго. Спасибо за пожелания, а на что мне обижаться? Я общался с существом, которое, как я предполагал, "остроконечного пола" (классическая фраза Бориса Виана), а после общения выснилось, что это не так. Одно из двух: - либо оно тщательно маскировалось, используя лингвистические уловки, не позволяющие определить пол собеседника; - либо оно решило изменить пол после очередного общения с Fucker'ом. 8-))) Мои "skills" и не только "skills" я и так постоянно развиваю. В одном из постов, обращенных мне, как-то прозвучало пожелание прочитать книги Т. Кайта и Oracle'вую документацию. Сейчас я все-таки решил сказать пару слов по этому поовду... Я не строю из себя супер-муперного крутого спеца во всем, что связано с Oracle. Я такой, какой я есть, что-то я знаю лучше, что-то хуже, но мои познания в некоторых основных областях позволяют мне без всяких проблем находить десятками недочеты и ошибки как в книгах об Oracle (у того же Тома, хотя уровень его книг на порядок выше всех остальных, с которыми я сталкивался, ошибок значительно меньше, нежели у других, но они все равно есть), так и в стандартной документации. В основном это связано с тем, что при переходе от версии к версии Oracle документацию как обычно оставляют "на потом". Иногда связано с умышленными (но не совсем корректными) попытками скрытия деталей функционирования Oracle... и т.д. и т.п. И в каждом из таких случаев я безо всяких проблем фактами и экспериментами доказать свою правоту. Было бы время... Так вот мне стало интересно, из чего конкретно вытекает такой вывод, что мне стоит почитать эти источники? Буду очень признателен, если получу точный, формальный ответ. Желательно без лишней пространной болтовни на тему космических кораблей, бороздящих просторы.... Fucker ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2004, 21:04 |
|
Почему так медленно SELECT COUNT(*)
|
|||
---|---|---|---|
#18+
Спасибо за пожелания, а на что мне обижаться? Я общался с существом, которое, как я предполагал, "остроконечного пола" (классическая фраза Бориса Виана), а после общения выснилось, что это не так. Одно из двух: - либо оно тщательно маскировалось, используя лингвистические уловки, не позволяющие определить пол собеседника; - либо оно решило изменить пол после очередного общения с Fucker'ом. 8-))) Мои "skills" и не только "skills" я и так постоянно развиваю. В одном из постов, обращенных мне, как-то прозвучало пожелание прочитать книги Т. Кайта и Oracle'вую документацию. Сейчас я все-таки решил сказать пару слов по этому поовду... Я не строю из себя супер-муперного крутого спеца во всем, что связано с Oracle. Я такой, какой я есть, что-то я знаю лучше, что-то хуже, но мои познания в некоторых основных областях позволяют мне без всяких проблем находить десятками недочеты и ошибки как в книгах об Oracle (у того же Тома, хотя уровень его книг на порядок выше всех остальных, с которыми я сталкивался, ошибок значительно меньше, нежели у других, но они все равно есть), так и в стандартной документации. В основном это связано с тем, что при переходе от версии к версии Oracle документацию как обычно оставляют "на потом". Иногда связано с умышленными (но не совсем корректными) попытками скрытия деталей функционирования Oracle... и т.д. и т.п. И в каждом из таких случаев я безо всяких проблем фактами и экспериментами доказать свою правоту. Было бы время... Так вот мне стало интересно, из чего конкретно вытекает такой вывод, что мне стоит почитать эти источники? Буду очень признателен, если получу точный, формальный ответ. Желательно без лишней пространной болтовни на тему космических кораблей, бороздящих просторы.... Fucker, prosti, ti vse zhe nemnogo obidelsa. Vo-pervih, ya deistvitel'no soznatel'no "maskirovala" pol potomu chto mne kazalos' (i ya bila neprava v ETOM sluchae), chto russkie muzhiki k zhenshinam otnosatsa magko govora snishoditel'no. Potom mne stalo plevat' kak oni k nim otnosatsa. Vo-vtorih, ya uverena, chto ochen' mnogie veshi ti znaesh' gorazdo lutshe mena i voobshe ti gorazdo lutshe mena v tom, chto kasaetsa database, potomu chto ti DBA, a ya net, hota i staraus' uznavat' i ponimat' kak mozhno bol'she - chitau, bivau na konferentsiah, prosmatrivau forumi i posil'no staraus' reshat' tam raznie problemi, chitau vse s AskTom, experementiruu etc. Ya seichas ne mogu iskat' i razbirat' tvoi proshlie postingi naschet mena. No skazhu tebe takuu vesh. Vse, chto ya napisala po povodu LMT i pr. iz moei real'noi zhizni. Mne prihodilos' tunit' raznie applications i ya delala eto khorosho. Naprimer, na odnom proekte procedure ranilas' 40-45 chasov. Ya perepisala code i ona stala ranitsa 2 chasa. No tam vrema ot vremeni bili RBS problemi. Ya zastavila DBA (indusa, a on soprotivlalsa) pereiti na LMT i sdelat' eshe koe kakie veshi. Teper' etot code rabotaet 40 minut i nikakih problem s RBS, chto yavlaetsa sledstviem LMT (ya davala snosku ob etom). Esli ti chital (a ya znau, chto ti chital) eti knogi, obrati vnimamie na LMT. Povtorau, ne obizhaisa. Ya tozhe chitala i prodolzhau chitat' i perechitivat'. A mne interesno vot chto. Ti skazal, chto u Toma "ошибок значительно меньше, нежели у других, но они все равно есть". Esli est' ili budet vrema ne mog bi ti dat' primeri? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2004, 21:36 |
|
Почему так медленно SELECT COUNT(*)
|
|||
---|---|---|---|
#18+
B.Vse, chto ya napisala po povodu LMT i pr. iz moei real'noi zhizni. Mne prihodilos' tunit' raznie applications i ya delala eto khorosho. Naprimer, na odnom proekte procedure ranilas' 40-45 chasov. Ya perepisala code i ona stala ranitsa 2 chasa. No tam vrema ot vremeni bili RBS problemi. Ya zastavila DBA (indusa, a on soprotivlalsa) pereiti na LMT i sdelat' eshe koe kakie veshi. Teper' etot code rabotaet 40 minut i nikakih problem s RBS, chto yavlaetsa sledstviem LMT (ya davala snosku ob etom). Esli ti chital (a ya znau, chto ti chital) eti knogi, obrati vnimamie na LMT. Povtorau, ne obizhaisa. Ya tozhe chitala i prodolzhau chitat' i perechitivat'. A mne interesno vot chto. Ti skazal, chto u Toma "ошибок значительно меньше, нежели у других, но они все равно есть". Esli est' ili budet vrema ne mog bi ti dat' primeri? По поводу lmt & undo Так уж получилось, что как раз к этому пункту у меня было меньше всего претензий, ну да ладно... Я согласен с тем, что от перехода на lmt можно получить определенное увеличение производительности приложений. В процитированное вами статье было указано 6 преимуществ, получаемых от использования lmt. И преимущество №3 «No Rollback generated» не сможет решить всех проблем, если системой уже генерируется слишком много undo. В какой-то мере сократить, да, сократит, но, как я уже говорил, кардинально оно не решает все проблемы с undo . Ведь это всего-лишь пассивная попытка борьбы с симптомом, а не с самой болезнью. Наибольший выигрыш от влияния этого фактора обычно получается в самых «запущенных» случаях. Например, используются слишком маленькие экстенты и приложение делает много лишних операций изменения данных, приводящих с частым space transactions, или часто выполняется откат транзакций. Но и в этом случае переход на lmt не решит основных проблем, связанных с неэффективностью самого приложения. В таких случаях помимо перехода на lmt, если есть возможность, стоит пересмотреть дизайн приложения. В то же время, если табличные пространства и пользовательские объекты в них созданы с разумными параметрами хранения, выполняется эффективное приложение и undo не являются узким местом системы, то даже на dmt можно обеспечить высокую его производительность. Лично я ничего не имею против lmt, тем более, я сам давно использую его в работе. Простите за излишнюю резкость, допущенную во время общения с вами. Возможно я просто не люблю слишком пространных универсальных советов на все случаи жизни. ;-) Best Regards, Fucker, который не "говнюк" PS.: По поводу «чужих ошибок». Завтра, послезавтра постараюсь перечитать несколько глав и привести несколько примеров. Первый будет связан с использованием утилиты экспорт. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2004, 16:08 |
|
Почему так медленно SELECT COUNT(*)
|
|||
---|---|---|---|
#18+
2 В. Не могу похвастаться, что нахожу десятками ошибки у Тома (его сайт, кстати, редко читаю), но единичные случаи есть. Часть из них скорее всего связана с описками и опечатками, часть - с нежеланием углубляться в дебри и т.д. Ошибаются все, и это нормально. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2004, 17:32 |
|
Почему так медленно SELECT COUNT(*)
|
|||
---|---|---|---|
#18+
Спасибо за объяснения. Я начинаю потихоньку разбиратьтся с переводной терминологией, а то вначале очень трудно было понимать, о чем идет речь. Вообще мне нравится этот форум. Наши раньше тоже были ничего ничего , особенно этот: http://www.orafaq.com/msgboard/index.htm, но сейчас все меньше и меньше интересных вопросов. То ли все все поняли, то ли Оракл действительно на спад идет (надеюсь, что нет). В день появляется всего несколько вопросов, из которых редко бывают интересные. А здесь интересно. Вот это у меня не открывается, вылезает что-то другое: http://www.sql.ru/images/laugh.gif Попробую на работе открыть. Завтра, послезавтра постараюсь перечитать несколько глав и привести несколько примеров. Первый будет связан с использованием утилиты экспорт.[/quot] Если завтра у нас не будет дождя, который обещают, то я уеду на выходные за город, поэтому очень прошу на всякий случай или не публиковать это до понедельника, или в понедельник освежить, а то все затеряется. Всего доброго, В. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2004, 18:01 |
|
Почему так медленно SELECT COUNT(*)
|
|||
---|---|---|---|
#18+
Markelenkov2 В. Не могу похвастаться, что нахожу десятками ошибки у Тома (его сайт, кстати, редко читаю), но единичные случаи есть. Часть из них скорее всего связана с описками и опечатками, часть - с нежеланием углубляться в дебри и т.д. Ошибаются все, и это нормально. Поскольку я не DBA, то могу лишь сказать, что Том иногда "ошибается" в каком-нибудь маленьком синтаксисе, поскольку он все пишет на ходу, но обычно он быстренько делает Oops! И поправляется. Ну и помню как-то раз он очень красиво "перегнул" - написал как узнавать, есть ли запись в таблице без дорогого SELECT count(*), используя модель WHERE EXISTS(SELECT NULL FROM dual WHERE ...). Красиво, повторяю, получилось, но когда я его спросила на конференции не тот же самый результат в смысле "дороговизны" и скорости если SELECT count(*)....WHERE rownum<2, он засмеялся и сказал, что это то же самое. А вообще-то он гений. А какие ошибки вы заметили? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2004, 18:18 |
|
|
start [/forum/topic.php?fid=52&msg=32616759&tid=1905960]: |
0ms |
get settings: |
11ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
30ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
67ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 154ms |
0 / 0 |