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