Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.03.21;
Скачать: CL | DM;

Вниз

скорость работы MySQL+ODBC+ADO   Найти похожие ветки 

 
fidget ©   (2002-02-19 18:56) [0]

Есть необходимость написать делфевого клиента для работы с MySQL server. Работать надо обязательно через ODBC. Попробовала использовать компоненты с палитры ADO.
Для проверки скорости работы сделала в цикле от 1 до 1000
select * from my_table
В таблице 3 строки(всего 4 столбца)
С localhost запрос выполняется 33секунды, если запускать с машины, которая в локальной сети находится, то 2мин 54сек
С такой скоростью работать не очень хочется...
Тем более что с API такой запрос за несколько секунд выполняется...

Это оно так тормозит из-за ODBC? Есть варианты работы без использования ADO с MySQL? Может можно как-то ускорить работу?


 
MetallAdm ©   (2002-02-19 19:18) [1]

а зачем собсвенно в цикле выполнять запрос ??
у меня допустим все через ODBS
максимальное время у запроса из 3-x таблиц
с записями около 20000 занимало только
около минуты
так же приблезительно и через ADO


 
fidget ©   (2002-02-19 19:50) [2]

(цикл - потому что мой шеф так хочет проверить скорость и производительность :( )
А ты с ODBC через что работаешь?
Можно как то напрямую работать с ODBC?


 
MetallAdm ©   (2002-02-19 20:04) [3]

да и вообше странно что то
хотя мне кажется глуппо так проверять производителность лучше пускай в табличку и из нескольких
полей данных тысяч так на 100 в цикле запишет а потом оттуда запросы делать


 
fidget ©   (2002-02-19 20:39) [4]

шеф аргументирует тем, что мы меряем не скорость работы mysql сервера, а скорость работы делфевого клиента


 
biocron ©   (2002-02-20 00:34) [5]

Почему обязательно ADO
попробуй c DAO
Компонент KaDAO
работать с MDB файлами, имять линки в них на любые базы транслировать, накапливать в них и экспортировать
у меня было 4 базы с 20-50 000 записей
таблицы линкованые к MDB
как только пошел таким путем скорость возрасла в 5-8 раз.




 
fidget ©   (2002-02-20 16:20) [6]

а где можно взять этот компонент?(KaDAO)


 
fidget ©   (2002-02-20 17:43) [7]

Компонент нашла, поставила...
только там даже если устанавливаешь ODBC, то все равно в SystemDatabase оно спрашивает .mdb файл...
Как линковать таблицы к MDB файлам?


 
biocron ©   (2002-02-20 23:35) [8]

Создаеш MDB
KADaoDatabase1.CreateAccessDatabase("C:\NewDb.mdb");
потом

какую хош таблицу линк

KADaoTable1.Active := False;
KADaoTable1.TableName := "";
KADaoDatabase1.LinkExternalTable("d:\ExcelTest.xls","Sheet1$",Excel_80_Table,0);
KADaoTable1.TableName := "Sheet1$";
KADaoTable1.Active := True;

для dbf
dBase_III_Table = "dBase III;DATABASE=%s"; {Drive:\Path}


там хелп есть в компоненте





 
Suntechnic ©   (2002-02-21 04:47) [9]

>biocron © (20.02.02 23:35)
По-моему вы о разных вешах говорите. Основное предназначение DAO это дуступ к Access, а автору нужен MySQL. Теоретически можно конечно через DAO->ODBC->MySQL, но кому такая головная боль нужна?

>fidget © (20.02.02 17:43)
Тебе какая ф-циональность необходима? Если выполнить пару запросиков и вернуть пару значений, тогда пожалуй несложно будет и на ODBC API написать, ну а если что-то сложнее, то ищи компоненты по для прямого доступа через ODBC, но к сожалению все хорошие платные.


 
Mike_Goblin ©   (2002-02-21 10:33) [10]

Найди компоненты прямого доступа Zeos (или другие) и не мучайся :)))


 
fidget ©   (2002-02-21 11:54) [11]

>Mike_Goblin
Да есть у меня компоненты прямого доступа и через API напрямую с mysql работала, но мне через ODBC надо, ТЗ у меня такое :(((

>Suntechnic
Траффик я не думаю что будет очень большой и запросы в основном select-ы будут, по функциональности то что предоставляет ODBC+ADO меня вполне устраивает, единственное что меня там не устраивает это скорость :(
Среди настроек ODBC не нашла ничего такого, что могло бы существенно повысить данную характеристику...
Меня интересовали альтернативные варианты работы через ODBC с MySQL
Кстати, а ты не мог бы поподробнее про написание API на ODBC?


 
Suntechnic ©   (2002-02-21 16:14) [12]

>fidget © (21.02.02 11:54)
>Кстати, а ты не мог бы поподробнее про написание API на ODBC?

А что именно подробнее тебя интересует? Документация по ODBC API вся на MSDN есть. Я когда то писал обортку из классов для ODBC API и даже исходники где-то валяются, но это было на С++. Если есть конкретные вопросы, спрашивай. Но опять же, если тебе, например, надо данные запросов в DBGrid-е отображать, тот как понимаешь без написания своего компонента через ODBC API это не получится.


 
biocron ©   (2002-02-22 13:18) [13]

???DAO->ODBC->MySQL, но кому такая головная боль нужна? Почему, пусть попробует, ADO, работает через ODBС но очень тяжко,DAO с линком, и крейтом базы, сразу во временную базу на локале в MDB файле ,будет работать в десятки раз быстрее не жели он будет работать напрямую, конечно теряется определенная актуальность, но енто уже технология написания обновления


 
fidget ©   (2002-02-22 16:09) [14]

to biocron>
Я чуть не очень понимаю как линковать таблицы mysql, которые фактически состоят из 3х файлов: *.frm, *.myd, *.myi ?



Страницы: 1 вся ветка

Текущий архив: 2002.03.21;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.009 c
4-67055
Sava
2002-01-24 09:33
2002.03.21
Сообщения Windows!?


1-66929
BDRON
2002-03-05 00:46
2002.03.21
Шифрование данных


6-66952
Alex
2002-01-05 19:50
2002.03.21
Help Me!!!!


1-66908
p-vlad
2002-03-06 13:36
2002.03.21
Помощь


1-66831
ZECom
2002-03-07 17:13
2002.03.21
dll в дельфи