Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
 Acceess и MySQL (долго погружается)  [new]
SergeyL1986
Member

Откуда:
Сообщений: 98
Подскажите пожалуйста,
Есть БД Аксес отдельным файлом прилинкованная, все на наолном компе, работает быстро и хорошо!
Перенес БД на MySQL, работает медленно...в чем может быть причина?
11 янв 18, 18:01    [21098653]     Ответить | Цитировать Сообщить модератору
 Re: Acceess и MySQL (долго погружается)  [new]
Сергей Лалов
Member

Откуда: Питер,Москва, Выборг, Светогорск
Сообщений: 1245
SergeyL1986
Подскажите пожалуйста,
Есть БД Аксес отдельным файлом прилинкованная, все на наолном компе, работает быстро и хорошо!
Перенес БД на MySQL, работает медленно...в чем может быть причина?


наверняка у вас таблицы прилинкованы под правами администратора сервера, со всем доступом ко всем функциям. Это тормозит систему при открытии проекта.
Cоздайте нового пользователя только с правами на SELECT,INSERT,UPDATE, DELETE, FILE в phpMyAdmin в рамках вашей базы данных на сервере MySQL. Остальные разрешения не делайте. И перелинкуйте /перепишите логин и пароль в MySQL odbc driver в разделе администрирования источников данных odbc.
Это должно ускорить работу.
А так то субъективно, если вы на одном компе юзаете базу, не в многопользовательском режиме, то не надо никакого MySQL. Априори через MySQL odbc driver ms access будет загружаться медленней.
Преимущество MySQL сможете увидеть только тогда, когда около 50ти человек будут одновременно работать в базе с разных компов. Он также будет при открытии чуть тупить, но с такой же скоростью, как и при одном человеке) Зато база только в аксессе при таком количестве пользователей будет тупить и слоупочить катастрофически.
11 янв 18, 18:52    [21098772]     Ответить | Цитировать Сообщить модератору
 Re: Acceess и MySQL (долго погружается)  [new]
SergeyL1986
Member

Откуда:
Сообщений: 98
Спасибо, буду пробывать!
Что касается БД, My SQl делается ввиду того что работа с БД приходиться с разных Городов, другого решения что то не придумал)
Если есть идеи поделитесь пожалуйста.
11 янв 18, 18:59    [21098788]     Ответить | Цитировать Сообщить модератору
 Re: Acceess и MySQL (долго погружается)  [new]
Сергей Лалов
Member

Откуда: Питер,Москва, Выборг, Светогорск
Сообщений: 1245
SergeyL1986
Спасибо, буду пробывать!
Что касается БД, My SQl делается ввиду того что работа с БД приходиться с разных Городов, другого решения что то не придумал)
Если есть идеи поделитесь пожалуйста.


Так идей и планов громадьё! (с)

Вы скажите , как у вас удаленные пользователи с других городов общаются с базой ? Напрямую через интернет, где в качестве сервера указан IP вашего компьютера, где крутиться база на mysql, или просто в режиме удаленного доступа сначала заходят на рабочий стол вашего компьютера, и потом уже оттуда запускают ярлык аксесовский?
11 янв 18, 19:19    [21098824]     Ответить | Цитировать Сообщить модератору
 Re: Acceess и MySQL (долго погружается)  [new]
SergeyL1986
Member

Откуда:
Сообщений: 98
Сергей Лалов,

Сейчас, сделано очень топ орно))) в сети пару компов работуюс с БД, но есть другие компы которые вне сети но есть доступ в иент. вот им надо дать доступ к БД. вот и решил на MySQL (адрес постоянный, в формах оответсвенно прописать только путь/DSN настроить и готова)

А какие варианты еще есть?
11 янв 18, 22:40    [21099238]     Ответить | Цитировать Сообщить модератору
 Re: Acceess и MySQL (долго погружается)  [new]
vmag
Member

Откуда: MP
Сообщений: 3021
SergeyL1986
Перенес БД на MySQL, работает медленно...в чем может быть причина?


раньше ты работал на встроенном родном джете, по этому и было быстро, - MySQL совсем другое, да еще через интернет... тут нужно полностью менять идеологию, нужно делать самому некое подобие vb-net... у меня один проект работает с периферией на USB модемах мегафона, но чего это стоило... в общем если тупо таблицы из mdb закинуть в mysql скорее всего получится фигня (в локалке еще так сносно и при больших объемах может еще и выигрыш получится, но если через интернет - то точно фигня). Через интернет использовать MySql интересно в качестве буфера обмена между основными локальными бд, да то, только потому что халява...
11 янв 18, 23:10    [21099290]     Ответить | Цитировать Сообщить модератору
 Re: Acceess и MySQL (долго погружается)  [new]
Сергей Лалов
Member

Откуда: Питер,Москва, Выборг, Светогорск
Сообщений: 1245
vmag,
Ну тут дело в скорости интернета скорей всего, у меня на достаточно шустрой машине с тарифом 100мб/сек вполне работоспособно тестировалось. Проверяли так, я за сервер в Москве, стат.айпишник. И две клиентские части разосланы в Питер и Екатеринбург. Нормально, бодрячком. Связь отличная. Пару моментов ,которые немного ускоряют работу это как я писал выше - создать пользователя с урезанными правами, и второй момент - не использовать Inno DB, а использовать MyIsam при создании таблиц. Очень сносно. Сейчас интернет дешевый и скоростной) Использовал в качестве сборки MySQL набор WAMP server.(просто как доп.инфо)
12 янв 18, 02:24    [21099574]     Ответить | Цитировать Сообщить модератору
 Re: Acceess и MySQL (долго погружается)  [new]
MrShin
Member

Откуда:
Сообщений: 1150
Для ускорения нужно в первую очередь минимизировать трафик между сервером и клиентом. Для этого могут потребоваться приличные переделки приложения, перенос какой только возможно логики на сервер через процедуры/триггеры, использовать pass-through запросы вместо линкованных таблиц, добавить кэширование справочных таблиц, иногда, если возможно, добавляется и кэширование основных таблиц - в общем, работы может потребоваться много.
12 янв 18, 06:34    [21099621]     Ответить | Цитировать Сообщить модератору
 Re: Acceess и MySQL (долго погружается)  [new]
bubucha
Member

Откуда:
Сообщений: 5343
автор
А какие варианты еще есть?

Если только из того что у вас есть, то отказаться от линковки и переделать все на запросы к серверу, правки оформить вызовом хранимок и пр...
Работать через инет с линковаными таблицами...дело даже не в тормозах, а в стабильности канала. Работать будет, вопрос в том, как это будет работать под нагрузкой.
У вас субд просто торчит наружу?
12 янв 18, 11:31    [21100620]     Ответить | Цитировать Сообщить модератору
 Re: Acceess и MySQL (долго погружается)  [new]
bubucha
Member

Откуда:
Сообщений: 5343
упс...предыдущего сообщения не узрел, сорян за повтор идеи:-)
12 янв 18, 11:32    [21100633]     Ответить | Цитировать Сообщить модератору
 Re: Acceess и MySQL (долго погружается)  [new]
SergeyL1986
Member

Откуда:
Сообщений: 98
Inno DB, а использовать MyIsam

Попробую)))
Всем спасибо за советы!
12 янв 18, 13:25    [21101189]     Ответить | Цитировать Сообщить модератору
 Re: Acceess и MySQL (долго погружается)  [new]
SergeyL1986
Member

Откуда:
Сообщений: 98
bubucha,

Подскажите пожалуйста, в эксесе есть возможность прилинковать таблицы из MySQL (что я и сделал сейчас). А вот из Vba сделать соединение я так понимаю это совсем другое? Не могли бы вы дать пример/поделиться информации как сделать соединение с MySQL через вба.
12 янв 18, 15:45    [21101982]     Ответить | Цитировать Сообщить модератору
 Re: Acceess и MySQL (долго погружается)  [new]
Сергей Лалов
Member

Откуда: Питер,Москва, Выборг, Светогорск
Сообщений: 1245
Ребят, коннекторы последних версий по умолчанию кешируют информацию. Там много интересных плюшек в настройках.
И с соединением достаточно гибко работают, и курсоры поддерживают, и запрессовывают данные, и много чего еще
На сайте разработчиков есть даже рекомендованные параметры для работы с ms access, ms sql server e.t.c.
Вот детальное описание всех свойств/свистоперделок данного коннектора, от сохи так сказать:
СЮДА ХАДИ
Можно как в коде их все задавать, так и просто галочки потыкать в стандартном визуализированном виде, если просто линковать.)
Картинка с другого сайта.

К сообщению приложен файл. Размер - 117Kb
12 янв 18, 16:06    [21102086]     Ответить | Цитировать Сообщить модератору
 Re: Acceess и MySQL (долго погружается)  [new]
vmag
Member

Откуда: MP
Сообщений: 3021
SergeyL1986
с MySQL через вба


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

Public Sub del_tbl1() 'отключение
On Error Resume Next
DoCmd.DeleteObject acTable, "tbl1"
End Sub

Public Function linc_tbl1() as Integer 'подключение
On Error GoTo er1
linc_tbl1 = 0
DoCmd.TransferDatabase acLink, "ODBC", "ODBC;DSN=NameBD", acTable, "tbl1", "tbl1"
Exit Function
er1:
error1 = 1
MsgBox "Ошибка подключения к серверу (tbl1)!"
End Function


чтоб не парить мозг, перед каждым подключением лучше делать отключение
12 янв 18, 16:15    [21102141]     Ответить | Цитировать Сообщить модератору
 Re: Acceess и MySQL (долго погружается)  [new]
bubucha
Member

Откуда:
Сообщений: 5343
SergeyL1986
bubucha,
Подскажите пожалуйста, в эксесе есть возможность прилинковать таблицы из MySQL (что я и сделал сейчас). А вот из Vba сделать соединение я так понимаю это совсем другое? Не могли бы вы дать пример/поделиться информации как сделать соединение с MySQL через вба.

вот конкретно по мускулу нету кода для копипаста, есть кусок класса для тестирования коннекта с postgresql, что сути не меняет... тут собственно
Function Connect() As Boolean
Const str_sql = "SELECT NOW() AS SERVER_TIME"

'Dim str_connect As String
Dim res As Boolean
Dim tmp_q As QueryDef
Dim tmp_r As RecordSet
Dim tmp_db As DAO.Database

On Error GoTo i_error
res = False


If Not WMIPing(db.host) Then
    log ("Postgres.Connect ERROR " & db.host & " ping error")
    Connect = res
    Exit Function
End If

str_connect = "ODBC;DRIVER={PostgreSQL Unicode};DATABASE=" & db.name & ";"
str_connect = str_connect & "SERVER=" & db.host & ";"
str_connect = str_connect & "UID=" & db.user & ";"
str_connect = str_connect & "PWD=" & db.pass & ";"
str_connect = str_connect & "PORT=" & db.port & ";"
str_connect = str_connect & "CA=d;A6=;A7=100;A8=4096;B0=255;B1=8190;BI=0;C2=dd_;;CX=1c20502bb;A1=7.4;"

Set tmp_db = CurrentDb
Set tmp_q = tmp_db.CreateQueryDef("")

With tmp_q
    .Connect = str_connect
    .sql = str_sql
End With

Set tmp_r = tmp_q.OpenRecordset
last_answer = tmp_r.Fields![SERVER_TIME]

res = True
ClearErr

i_exit:
    
    tmp_q.Close
    Set tmp_q = Nothing
    Set tmp_db = Nothing
    
    Connect = res
    
    Exit Function
i_error:
    
    last_err_num = Err.Number
    last_err_descr = Err.Description
        
    Resume i_exit
    
End Function
12 янв 18, 16:42    [21102291]     Ответить | Цитировать Сообщить модератору
 Re: Acceess и MySQL (долго погружается)  [new]
Сергей Лалов
Member

Откуда: Питер,Москва, Выборг, Светогорск
Сообщений: 1245
Просто ради эксперимента создал БД и подключил к серверу MySQL с гостевым доступом. Несвязан с именованным экземпляром драйвера , поэтому просто можно скачать и попробовать запустить. Формат accdb. Таблицы MyIsam. Столбцов 13, записей около 60000 тысяч.
!!! Если драйверов MYSQL на компьютере нет, то предварительно надо установить их ОТСЮДА и только потом открывать аксесс. Ставьте сразу и 64 и 32

Сервер находится в лен.области. Будет работать сегодня часов до 24.00 мск)

К сообщению приложен файл (TestMysql.rar - 33Kb) cкачать
12 янв 18, 21:25    [21103230]     Ответить | Цитировать Сообщить модератору
 Re: Acceess и MySQL (долго погружается)  [new]
SergeyL1986
Member

Откуда:
Сообщений: 98
Сергей Лалов,

Работает вроде как быстро если говорить что вытягивает 60000 строк (8-12 секунд открывает форму фм-мониторинг (с момента запуска)), у меня 150 записей (демо), а тянет что то долго...
12 янв 18, 23:27    [21103585]     Ответить | Цитировать Сообщить модератору
 Re: Acceess и MySQL (долго погружается)  [new]
SergeyL1986
Member

Откуда:
Сообщений: 98
Спасибо за пример
12 янв 18, 23:28    [21103587]     Ответить | Цитировать Сообщить модератору
 Re: Acceess и MySQL (долго погружается)  [new]
Сергей Лалов
Member

Откуда: Питер,Москва, Выборг, Светогорск
Сообщений: 1245
SergeyL1986
Спасибо за пример


Пожалст. ) Он по началу да, на загрузку тратит нное время. Но потом скорость такая же как и в обычном аксессе, после того как загрузилась база. Коннектор кэширует таблицы. И кстати при следующей загрузке по идее должно быть быстрей.
12 янв 18, 23:36    [21103598]     Ответить | Цитировать Сообщить модератору
 Re: Acceess и MySQL (долго погружается)  [new]
Сергей Лалов
Member

Откуда: Питер,Москва, Выборг, Светогорск
Сообщений: 1245
Кстати параллельно фильм качается, и сын в overwatch играл, так что нагрузка на компьютер не особо и большая у mysql. )
12 янв 18, 23:46    [21103611]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft Access Ответить