Форум: "Базы";
Текущий архив: 2003.03.27;
Скачать: [xml.tar.bz2];
Вниздрайвера доступа к базе данных Найти похожие ветки
← →
bpv (2003-03-05 10:39) [0]уважаемые господа мастера хотелось бы обсудить с вами вопрос доступа к БД
есть база sybase для доступа к ней по исторической традиции используется БДЕ, но со времени написания данной программы технологии шагнули вперед появились новые технологии и компоненты доступа:
- прямого для сайбейза,
- адо,
- dbExpress
- SQLDirect
- другие
так вот хотелось бы увеличить быстродействие системы поэтому АДО скорее всего отпадает а вот остальные технологии хотелось бы обсудить, кроме того что возможно нам предется перейти к MSSQL - 2000
← →
stone (2003-03-05 10:42) [1]
> нам предется перейти к MSSQL - 2000
В этом случае АДО как раз не отпадает
← →
bpv (2003-03-05 10:46) [2]2 stone спорный вопрос, хотя возможно ты и прав
← →
stone (2003-03-05 11:12) [3]2 bpv (05.03.03 10:46)
Из перечисленных технологий, АДО наиболее оптимально работает с MSSQL. Относительно других СУБД не знаю.
← →
BlackTiger (2003-03-05 14:20) [4]АДО само по себе не с чем не работает, ему все равно, это интерфейс. Работают АДО-провайдеры. А провайдер - это и есть максимально прямой доступ к базе. Для MSSQL прямее только SQLDMO.
АДО, на текущий момент, самый быстрый и законченный вариант для доступа к данным, при этом с "унифицированным" интерфейсом.
ДотНетовские и dbExpress (между прочим - обсолютно одно и то же по механизмам работы) еще слишком сыры.
А конкретно для Sybase есть свой родной провайдер.
← →
bpv (2003-03-05 14:56) [5]2 BlackTiger
насколько я знаю адо работает по технологии активх(покрайней мере где-то такая инфа была) и в большинстве случаев (возможно исключая MSSQL and Access) работает медленнее хотя я сам не проверял
что для Sybase есть набор компонентов прямого доступа это я знаю, но мне думалось использовать либо небор компонетнов SQLDirect говорят он использует улучшенное БДЕ или dbExpress
правдо в стандартной поставке нет драйверов для Sybase
а в принципе мне хотелось бы узнеть есть ли какие нибудь объективные тесты доступа к базам используя разные технологии
если кто слышал про такое и может дать ссылку откликнитесь
← →
BlackTiger (2003-03-05 15:10) [6]и в большинстве случаев (возможно исключая MSSQL and Access) работает медленнее хотя я сам не проверял
Вот-вот, все так - "но я сам не проверял". Многое еще зависит от разработчиков, от самой базы данных, от способа доступа (физически) к базе (локальная база, локалка, интернет, ФайлСервер/КлиентСервер/Трехзвенка). Реальных тестов "быстроты" не существует, все зависит от конкретных реализации и подхода.
Опять же, медленнее, чем что? Чем ODBC16/32? Никто не спорит.
Медленне, чем SQLDMO (для SQL2000)? Вопрос очень спорный. Навесь все навороты АДО на эту бедную библиотеку - результат будет работать еще медленнее, чем что либо.
Я для MSAccess97 делал базы, которые летали на больших объемах данных. С другой стороны видел базы, который тормозили самым дичайшим образом уже на мизерных объемах.
При всем при этом, при использовании "Клиент-Сервер" тормозит, как правило железо (сервер, канал связи), а не клиент - клиент-то "тонкий".
Так что не надо "наезжать" на АДО! Если встретилось несколько "тормознутых" приложений, то скорее по голове постучать надо разработчикам, а не валить все камни на АДО.
← →
BlackTiger (2003-03-05 15:22) [7]Хотя вот вспомнил!
Общался как-то с одними драйверами для не стандартной базы. Я бы оторвал руки им, этим разработчикам. Эти дурики пошли "в лоб". Данные просто быбирались ДВАЖДЫ! Один раз из базы во временную таблицу, потом уже из этой таблицы - в рекордсет. СИНХРОННО! С визуализацией процесса ! :))) ("Retreiving record 3 of 5896585 into temporary table").
В другом драйвере наблюдается просто странный косяк при выборке данных (хотя запись/удаление - на ура). При простом переборе Next-ом все отлично, но если в запросе пишешь "SELECT * FROM Table ORDER BY Field1 WHERE <что-то>" - всё, просто все встает колом. Методом проб вычислил, что эта зараза просто ждет последнюю запись ВСЕЙ таблицы, игнорируя WHERE.
Ну и при чем тут АДО?
← →
Владислав (2003-03-05 15:28) [8]> BlackTiger (05.03.03 14:20)
> BlackTiger (05.03.03 15:10)
Что быстрее?
SQLDO -> ODBC -> MSSQL Server
или
ODBC -> MSSQL Server
Как думаешь?
← →
bpv (2003-03-05 15:30) [9]2 BlackTiger мы сейчас не говорим о нестандартных и т.п. базах
я думаю как для сайбазе так и мсскуеля драйвера нормальные
а для доступа ты использовал дельфовые компоненнты или API?
← →
sniknik (2003-03-05 15:30) [10]BlackTiger (05.03.03 15:10)
давай пожму твою мужественную руку. :-))) согласен на 100% (особенно с последней фразой)
сколько раз сам встречался с подходом простой замены компонент TTable на TADOTable, не понимая принципов не деля базы на локальные и серверные, не понимая смысла SQL, просто заменят, и в итоге наивной удивленностью а чего оно тормозит?.
BlackTiger (05.03.03 15:22)
но если в запросе пишешь
SELECT * FROM Table ORDER BY Field1 WHERE <что-то>"
возможно это правильное поведение, если ты не ошибся в написании
сначала идет условие, после сортируются выбранные, у тебя наоборот
SELECT * FROM Table WHERE <что-то> ORDER BY Field1
получается логично
← →
bpv (2003-03-05 15:47) [11]кроме того при обсуждении скорости технологии доступа к БД
следует считать что квалификация разработчика высокая :-)
← →
bpv (2003-03-06 10:20) [12]что никто не интересовался скоростью работы
я понимаю что самую быструю технологию можно испортить кривыми ручками но всеже
← →
Владислав (2003-03-06 10:31) [13]> bpv (06.03.03 10:20)
Про это ничего не могу сказать:
- dbExpress
- SQLDirect
Я ODBC использую.
← →
Wellslava (2003-03-06 10:34) [14]из собственного опыта - через ODBC быстрее и лучше, а если надо использовать несколько баз, то BDE вообще не подходит...
← →
bpv (2003-03-06 11:38) [15]to Wellslava
почему не подходит бде подднрживает все популярные субд
← →
BlackTiger (2003-03-06 12:33) [16]>bpv
Вопросом на попрос (10 лет в еврейской фирме :) )
А почему Borland пытается от него избавиться?
← →
BlackTiger (2003-03-06 12:39) [17]>sniknik
Я просто в порядке очепятался :).
Там была ерунда в том, что открыть ВСЮ таблицу, потом пройтись Next"ом по записям и обработать только нужные, получалось на порядок быстрее, чем сделать выборку по критерию и работать уже результатом запроса.
← →
bpv (2003-03-06 14:50) [18]2 BlackTiger я бы тоже хотел избавиться только не решил на что затем и вопрос поднял
← →
kkot (2003-03-06 16:46) [19]2 bpv
Касаемо прямого доступа. Есть несколько нормальных компонент для доступа к SYBASE. Лично я использую NativeDB. Единственно, что слегка портит жизнь - то, что они все платные. Но NativeDB проявляет свою "триальность" только тем, что перед созданием форм выводит свое окошко и просит нажать "ОК". Это можно задавить в WinIce но это не дело каждый свой проект ковырять, поэтому наша контора тяготеет к покупке легальным путем. Скачать их можно на www.nativedb.com Есть еще ASADAC, говорят, что тоже очень неплохие, но лично не пробовал, ничего сказать не могу.
← →
kkot (2003-03-06 16:49) [20]P.S. Если у кого-то есть кряк к NativeDB, может поделитесь?
← →
bpv (2003-03-06 17:09) [21]2 kkot
я посмотрел этот набор для Anywhere а у нас ентерпрайз
← →
BlackTiger (2003-03-06 20:00) [22]bpv! Да не мучайся ты так, сколько людей - столько мнений.
Однозначного ответа тебе никто не даст.
Погоняй несколько вариантов и остановись на том, который тебе больше подходит/понравился. Мне лично нравится АДО, кому-то другому - что-то другое. АДО более стандартизован и надежен, чем различные сторонние разработки, но это не говорит о том, что сторонние разработки плохи.
Тут вопрос не в быстродействии. Все работает одинаково хорошо, если к нему приложить некоторые усилия. Передача данных между клиентом и сервером все равно не будет быстрее, чем канал связи между ними, а обработка данных сервером никак не зависит от клиента (чем и хороши клиент-серверные базы). Лучше в сервер напихать железо покруче - ему же обрабатывать запросы, а не клиенту, клиент только принимает ввод пользователя, отправляет запрос серверу и получает от него ответ (за редким исключением).
А про BDE лучше начать забывать уже сейчас. Просто потому, что бормановцы обещают его просто выкинуть из новых версий, оставив только ADO и dbExpress, для которого есть драйвер к Sybase. Но мне лично dbExpress не нравится (как и провайдеры .NET) из-за своей архитектуры. Но если не оставят выбора, буду работать и с dbExpress/.NET.
← →
bpv (2003-03-07 09:35) [23]2 BlackTiger да я обобо не мучаюсь мне просто интересно
← →
Alex Chu (2003-03-07 09:51) [24]ct-lib
www.geocities.com/ctlibcomps
бесплатность на уровне dcu, а исходники за 300
что ещё может быть нужно sybase?
← →
bpv (2003-03-07 13:46) [25]ладно закрываем те
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.03.27;
Скачать: [xml.tar.bz2];
Память: 0.51 MB
Время: 0.008 c