Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2006.02.19;
Скачать: [xml.tar.bz2];

Вниз

Хочу быструю сортировку   Найти похожие ветки 

 
Punch   (2005-12-26 16:07) [0]

Все выборки из БД идут через ХП. В гриде делаеть сортировка по любому полю. Соответсвенно получается что-типа
select * from MY_PROCEDURE
order by filed1, field2...

план строится не по индексам, предложите, что-нить плз


 
Desdechado ©   (2005-12-26 16:13) [1]

делать сортировку на клиенте в ClientDataSet
особенно здОрово, что обращаться к БД всего 1 раз, а не на каждый чих
плохо, если выборка большая - читаться будет целиком, только потом сортироваться


 
Punch   (2005-12-26 16:15) [2]

не пойдет объем данных - велик, фетч - долго.

надо серверную сортировку.


 
Sergey13 ©   (2005-12-26 16:19) [3]

2 [2] Punch   (26.12.05 16:15)
ИМХО - ты странного хочешь.


 
Vlad ©   (2005-12-26 16:24) [4]


> Punch   (26.12.05 16:15) [2]


> надо серверную сортировку.

Серверная сортировка без индексов будет медленной, как ни крути...


 
Punch   (2005-12-26 16:31) [5]

короч, смысл оптимизировать

select * from MY_PROCEDURE
order by filed1, field2...

Работал ли кто-нить с DSQL может с его помощью можно.


 
Desdechado ©   (2005-12-26 16:34) [6]

чтобы рыбку съесть, надо в воду лезть


 
Sergey13 ©   (2005-12-26 16:35) [7]

2[5] Punch   (26.12.05 16:31)
>короч, смысл оптимизировать
А как оптимизировать то? Ну перепиши ORDER BY на filed2, field1... в программе? Может лучше Where оптимизировать для исключения "объем данных - велик, фетч - долго."


 
Punch   (2005-12-26 16:45) [8]

where - оптимизирован на все 100 %

что щас сделано
написано 3 ХП
- MY_PROCEDURE_ORDER_DEFAULT
- MY_PROCEDURE_ORDER_NUMBER
- MY_PROCEDURE_ORDER_NAME

у MY_PROCEDURE есть вх парам - SORTING
если SORTING = 0 то выполняю MY_PROCEDURE_ORDER_DEFAULT(без сорт) по индексу ID
если 1 - то MY_PROCEDURE_ORDER_NUMBER (по коду) по индексу NUMBER
если 2 - то MY_PROCEDURE_ORDER_NAME (по имени) по индексу NAME

если сортировка по номеру или по имени или без сортировки - то запускаю  
одну из трех ХП - все быстро

но есть поля в сетке и другие, так вот они идут по
select * from MY_PROCEDURE
order by filed1, field2...


 
Johnmen ©   (2005-12-26 16:48) [9]

>Punch  

Тебе уже сказали, что ты ищешь черную кошку в темной комнате. Притом, что её там нет.
Что не понятно?


 
Punch   (2005-12-26 16:57) [10]

Удалено модератором
Примечание: Так и говорим


 
Johnmen ©   (2005-12-26 17:12) [11]

Так и говорим: ТЕБЕ помочь не можем.


 
evvcom ©   (2005-12-26 17:19) [12]


> короч, смысл оптимизировать

Я так понимаю смысл не оптимизировать, а все-таки выполнить запрос и сортировку, выбранную пользователем, на сервере, при этом не писать много лишнего кода. Действительно это можно сделать с помощью DSQL, не знаю только есть ли он на птице. Наверное, есть.



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2006.02.19;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.043 c
11-1119933735
Василий
2005-06-28 08:42
2006.02.19
Сдвиг элементов TreeView меньше system-defined minimum


2-1138883438
Daria
2006-02-02 15:30
2006.02.19
проблемы с null


15-1138204596
Nic
2006-01-25 18:56
2006.02.19
Ну надо же :(


15-1138613261
kkot
2006-01-30 12:27
2006.02.19
Жители Кишнева, вопрос к вам.


1-1137591191
kyn66
2006-01-18 16:33
2006.02.19
Сложный запрос по таблице





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский