Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2002.03.21;
Скачать: [xml.tar.bz2];

Вниз

скорость работы 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.006 c
1-66876
ДАААА
2002-03-03 17:02
2002.03.21
Ну очень рочно


3-66793
kvcomp
2002-02-23 15:04
2002.03.21
Ошибка в Paradox типа


3-66791
Фадеичев Андрей
2002-02-21 16:30
2002.03.21
Delphi и сетевые базы данных.


1-66834
Андре
2002-03-07 16:15
2002.03.21
FastReport


1-66840
Squall
2002-03-07 17:02
2002.03.21
КОМПАНЕНТА с XP STYLE!!! Где ДОСТАТЬ?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский