SergeBS

Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору sea78 Ну разные профы разное говорят. Я например говорю так (типа тоже под профы прикидываюсь \m/ ): ODBC – открытый стандарт, драйверы писали и пишут все кому не лень, и скорость работы зависит от криворукости драйверописателя и его хитрости. Поэтому очевидно, что, например ODBC драйверы от Micro$oft быстрее всего будут работать с Micro$oft же поделиями, а с прочими – «для галочки». И если при этом мне скажут, что ADO работает с SQL-сервером быстрее, чем ODBC, то я всего лишь процитирую: «ADO applications access data through OLE DB providers. Microsoft SQL Server™ version 7.0 introduces a native Microsoft OLE DB Provider for SQL Server that can be used by ADO applications to access the data in SQL Server. In earlier versions of SQL Server, ADO applications had to use the OLE DB Provider for ODBC layered over the Microsoft SQL Server ODBC driver. While ADO applications can still use the OLE DB Provider for ODBC with the SQL Server ODBC driver, it is more efficient to only use the OLE DB Provider for SQL Server.» (Microsoft MS SQL 7.0 BOL) Вольный перевод с небольшими сокращениями: «специально для своих самых крутых MS SQL-серверов самой крутой фирмой Микрософт сделаны самые крутые OLE DB провайдеры, работающие с самой крутой технологией ADO. Если для вашего сервера (например MS SQL 6.5-прим. переводчика) крутого OLE DB провайдера нет – работайте через связку ADO-OLE DB-ODBC.» Вопрос о том, быстрее ADO или нет, чем ODBC, отпадет автоматически. Или откажитесь от ADO. Т.е. для MS SQL-сервера версии выше 6.5 связка ADO-OLE DB работает быстрее, чем связка ADO-OLE DB-ODBC. Но это не скорость ODBC. На самом деле ODBC дает больше возможностей, но для меньшего количества источников данных. А сам по себе ODBC-драйвер может (и должен) работать быстрее, чем ADO-OLE DB за счет меньшего количества «промежуточных ступеней». Особенно с не-Micro$oft серверами и не-Micro$oft драйвер. Короче, все зависит от того, какой сервер выбран. Если M$ - работайте через ADO. Если не M$ - то и не-ADO. Хотя это и экономия «на спичках». В сбалансированном приложении главными тормозящими факторами будут скорость передачи данных по сети и скорость чтения данных с поверхности диска (дисков) сервера. Кстати, вот только что слепил мелкое приложенийце: 3-8 клиентов, MySQL-MyODBC 3.51-ADO. Ничего. Работает. |