Главная страница
    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
Время: 2.035 c
15-1138359252
Тульский
2006-01-27 13:54
2006.02.19
Глюки в аське


10-1114066988
Der Schlangen
2005-04-21 11:03
2006.02.19
Композитный ActiveX компонент как создать?


2-1138653644
Flint-1983
2006-01-30 23:40
2006.02.19
QReport


4-1133766431
alex_1234
2005-12-05 10:07
2006.02.19
"Обрыв" модема ???


6-1131122906
WebSQLNeeder
2005-11-04 19:48
2006.02.19
Как запретить что бы в WebBrowser вылетали окошки JavaScript? Или





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский