|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
15.06.2010, 14:18 | #1 |
Пользователь
Регистрация: 11.10.2008
Сообщений: 82
|
ADO против BDE
Изначально я написал приложение для работы с БД на Sybase используя BDE. Приложение делала SQL запрос в БД и я просматривал нужные мне данные. Мне понадобилось добавить несколько функций, которые удобно создавать работая с ADO. Снова написал прогу, использую ADO (ADOConnection->ADOQuery->DataSource->BDGrid). Сразу стало понятно, что в ADO все функции, которые я хотел добавить, тут сделать будет очень легко!НО я столкнулся с другой проблемой, которая даёт такой большой минус ADO, что мне перехотелось его использовать! Запрос в БД выполняется не 15 секунд как в BDE, а 3 минуты!!! Это просто ужас!!!!
Вот возникает вопрос, можно какими то способами это время сократить??? |
15.06.2010, 14:25 | #2 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Просто твоя БД нехорошо настроена. Может быть не проиндексирована или еще что.
I'm learning to live...
|
|
15.06.2010, 14:41 | #3 | |
Пользователь
Регистрация: 11.10.2008
Сообщений: 82
|
Цитата:
Я допускаю, что можно что то настроить, чтобы всё было быстрее...но что? Вот и обращаюсь за советом. |
|
15.06.2010, 21:00 | #4 | |
Форумчанин
Регистрация: 09.09.2009
Сообщений: 181
|
Цитата:
Явно база без индексов. Все дело только в самом SQL-запросе. Смотри стоимость запроса.
Получил помощь — отблагодарил.
|
|
16.06.2010, 06:46 | #5 | |
Пользователь
Регистрация: 11.10.2008
Сообщений: 82
|
Цитата:
В том что база без индексов, я очень сомневаюсь! Над ней работают мозговитые люди! А вообще, меня больше беспокоит как сделать, чтобы ADO шевелился побыстрее! |
|
16.06.2010, 07:22 | #6 |
Форумчанин
Регистрация: 25.07.2009
Сообщений: 533
|
Да какая разница кто работает над БД. У тебя запрос цепляет индексы или фулскан?
План запроса посмотри. Посмотри какие индексы цепляются. Посмотри по каким индексам будет строиться выборка быстрее. Поправь запрос чтоб подбирался нужный тебе индекс. А не автоматически. Я так понимаю что работаешь ты с запросом который постил в другой ветке Код:
Код:
Посмотри какие индексы цепляются для таблицы CreditCertificate (хотя здесь скорее всего фулскан). Посмотри есть ли индекс по полю CERTIFICATE_ID для таблицы CertificationTerminal (может быть составной индекс. Посмотри чего тебе не хватает для того чтоб он подхватился. Может быть доп. ограничения по датам...) Также посмотри есть ли индекс по полю Place для таблицы Market
Маразм крепчал. Еноты пели...
R-style Dataknowlege Access Member Account (RDAMA) Последний раз редактировалось rdama; 16.06.2010 в 07:46. |
16.06.2010, 09:46 | #7 | |
Пользователь
Регистрация: 11.10.2008
Сообщений: 82
|
Цитата:
С базами в Delphi работаю 2 недели по большому счёту. SQL полтора месяца назад по нормальному изучил. Это вообще не моя работа, я чисто для себя. А темы создаю потому что реально это интересно и я уже много нового узнал от посетителей! Так что рад буду, если эту тему мне распинают))) |
|
16.06.2010, 10:07 | #8 |
Форумчанин
Регистрация: 25.07.2009
Сообщений: 533
|
Итак для того чтоб узнать что такое индексы идем сюда
http://sql.ru/faq/faq_topic.aspx?fid=285 Для того чтоб посмотреть какие они есть тебе надо. Я так понимаю у тебя есть какая-то софтина в которой ты пишешь запросы к БД(SQL Manager). Так вот в ней скорее всего есть древовидная структура твоей БД. В этой структуре ищешь нужную тебе таблицу и нажимаешь на нее. Обычно открывается дерево Поля(Fields), Индексы(Indexes),Триггеры(Triggers) . Вот там и смотришь Индексы присутствующие на таблице. По поводу плана. Есть софт нормальный в котором обычно в нижней части экрана показывается план. А есть не нормальный софт там чтоб посмотреть план надо поискать куда же его засунули разрабы.
Маразм крепчал. Еноты пели...
R-style Dataknowlege Access Member Account (RDAMA) |
16.06.2010, 10:43 | #9 |
Форумчанин
Регистрация: 09.09.2009
Сообщений: 181
|
Используй SQL Navigator. Я не помню где, но в нем точно можно просмотреть стоимость любого запроса, то есть срабатываю индексы или идет фулскан. Так можно модифицировать запросы без прямого обращения к базе и сразу просматривать результат эффективности запроса.
А вообще, обратись к БДешникам, которые работают с этими таблицами, они тебе в миг построят самый оптимальный запрос! И ADO не причем!
Получил помощь — отблагодарил.
|
16.06.2010, 10:47 | #10 |
Форумчанин
Регистрация: 25.07.2009
Сообщений: 533
|
Насколько я помню SQL Navigator для Oracle.
Или есть для Sybase?
Маразм крепчал. Еноты пели...
R-style Dataknowlege Access Member Account (RDAMA) |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
VS C++ против C++ Builder | Maladoj | C++ Builder | 9 | 06.04.2009 18:55 |
BDE против ... всех. | _SERGEYX_ | БД в Delphi | 10 | 18.02.2008 08:10 |