Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

HELP!!!Странная сортировка при GROUP BY [D7]


Страницы:   1 2

vlgrig1961 ©   (2011-03-30 09:27:00) 

Здравствуйту уважаемые! Возникла такая проблема
База Oracle 8 запросы с использованием group by по стринговым индексам сортировались нормально по алфавиту.
(select KltName,KltKod,sum(Summa) from Jurnal group by KltName,KltKod)
Перешел на Oracle 9.2 базу перенес экспорт/импорт-ом
(единственно в старой базе индексы хранились в tablespace USR, вместе с данными, а вновой перенес в отдельный tablespace)
Сейчас теже запросы сортируются по длине поля KltName, т.е. сначала все длиной 5 символов, потов 6 и т.д. по возрастанию, а если одинаковой длины, то они по алфавиту.
Не могу понять в чем причина???????????
Может кто подскажет!!!!!! Заранее спасибо.


sniknik   (2011-03-30 12:55:00) [21]

в общем это из разряда использования значения переменной цикла после цикла... оно вроде и остается последнее значение, но гарантий никаких. (даже простая перекомпиляция с другими параметрами и "привет")


sniknik   (2011-03-30 12:52:00) [22]

> Никогда она там не работало, было просто везение.
не знаю за оракл, но вообще "сортировка группировкой" была, надежды на всегда правильную не было (не гарантировано, в доке не прописано), но сама она была... т.к. в процессе "группирования" удобнее манипулировать сортированными данными.

вот, чтобы не быть голословным, проверил на информиксе, первой попавшейся таблице
SELECT Code, Count(*) FROM StepTable
GROUP BY Code
строго по порядку.

я так понимаю и в оракле будет/есть, если например по числовому полю сделать... а у него текстовое, и сортировка тоже присутствует, просто оракл в какой то момент "решил" что манипулировать ему проще не просто отсортированными строками, а еще и разделенными по длине...
ну и получилось то что получилось.


OW   (2011-03-30 12:31:00) [23]


> Anatoly Podgoretsky ©   (30.03.11 12:11) [10]

это да


Anatoly Podgoretsky   (2011-03-30 12:11:00) [24]

> OW  (30.03.2011 12:04:07)  [7]

Но может быть и быстрее с сортировкой, если она совпадает с ключом, будет
другой план исполнения


Anatoly Podgoretsky   (2011-03-30 12:10:00) [25]

> vlgrig1961  (30.03.2011 11:57:06)  [6]

Конечно повлияет, ничего даром не дает, но ты уж решай сам, нужен ли тебе
сортированый набор или будем играть в рулетку.


Anatoly Podgoretsky   (2011-03-30 12:09:00) [26]

> vlgrig1961  (30.03.2011 10:23:03)  [3]

Никогда она там не работало, было просто везение.
Теперь тебе не на кого обижаться, везение кончилось.


OW   (2011-03-30 12:04:00) [27]

обязательно, быстрее будет
чем больше написать, тем более быстрее работает
главное написать секретный модификатор перед запросом
do_it_fast = true
:)

а сами как считаете?
что быстрее - операция или операция + еще что-то

потеря скорости скорее всего будет практически невидна на незначительных объемах


vlgrig1961   (2011-03-30 11:57:00) [28]

А повлияет ли на скорость выполнения запроса добавление ORDER BY???


Игорь Шевченко   (2011-03-30 10:39:00) [29]


> сортировка в group by программа работала лет десять и все
> время нормально сортировалось по алфавиту!!!


тебе повезло. но везение не может быть вечным


OW   (2011-03-30 10:35:00) [30]

Вам идеолог Oracla говорит

NO, NO, NO, NO, NOT TRUE
never been true
never was true
never will be true.
There is ONLY one way to get sorted output "gauranteed" and that is.......

           TO USE ORDER BY


vlgrig1961   (2011-03-30 10:23:00) [31]

сортировка в group by программа работала лет десять и все время нормально сортировалось по алфавиту!!!


OW   (2011-03-30 10:20:00) [32]

http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:75397449124988


Anatoly Podgoretsky   (2011-03-30 10:10:00) [33]

> vlgrig1961  (30.03.2011 09:27:00)  [0]

А где тут в запросе сортировка, надеешься на везение?


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо