Гость
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Acceess и MySQL (долго погружается) / 20 сообщений из 20, страница 1 из 1
11.01.2018, 18:01
    #39582722
SergeyL1986
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Acceess и MySQL (долго погружается)
Подскажите пожалуйста,
Есть БД Аксес отдельным файлом прилинкованная, все на наолном компе, работает быстро и хорошо!
Перенес БД на MySQL, работает медленно...в чем может быть причина?
...
Рейтинг: 0 / 0
11.01.2018, 18:52
    #39582758
Сергей Лалов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Acceess и MySQL (долго погружается)
SergeyL1986Подскажите пожалуйста,
Есть БД Аксес отдельным файлом прилинкованная, все на наолном компе, работает быстро и хорошо!
Перенес БД на MySQL, работает медленно...в чем может быть причина?

наверняка у вас таблицы прилинкованы под правами администратора сервера, со всем доступом ко всем функциям. Это тормозит систему при открытии проекта.
Cоздайте нового пользователя только с правами на SELECT,INSERT,UPDATE, DELETE, FILE в phpMyAdmin в рамках вашей базы данных на сервере MySQL. Остальные разрешения не делайте. И перелинкуйте /перепишите логин и пароль в MySQL odbc driver в разделе администрирования источников данных odbc.
Это должно ускорить работу.
А так то субъективно, если вы на одном компе юзаете базу, не в многопользовательском режиме, то не надо никакого MySQL. Априори через MySQL odbc driver ms access будет загружаться медленней.
Преимущество MySQL сможете увидеть только тогда, когда около 50ти человек будут одновременно работать в базе с разных компов. Он также будет при открытии чуть тупить, но с такой же скоростью, как и при одном человеке) Зато база только в аксессе при таком количестве пользователей будет тупить и слоупочить катастрофически.
...
Рейтинг: 0 / 0
11.01.2018, 18:59
    #39582764
SergeyL1986
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Acceess и MySQL (долго погружается)
Спасибо, буду пробывать!
Что касается БД, My SQl делается ввиду того что работа с БД приходиться с разных Городов, другого решения что то не придумал)
Если есть идеи поделитесь пожалуйста.
...
Рейтинг: 0 / 0
11.01.2018, 19:19
    #39582771
Сергей Лалов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Acceess и MySQL (долго погружается)
SergeyL1986Спасибо, буду пробывать!
Что касается БД, My SQl делается ввиду того что работа с БД приходиться с разных Городов, другого решения что то не придумал)
Если есть идеи поделитесь пожалуйста.

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

Вы скажите , как у вас удаленные пользователи с других городов общаются с базой ? Напрямую через интернет, где в качестве сервера указан IP вашего компьютера, где крутиться база на mysql, или просто в режиме удаленного доступа сначала заходят на рабочий стол вашего компьютера, и потом уже оттуда запускают ярлык аксесовский?
...
Рейтинг: 0 / 0
11.01.2018, 22:40
    #39582876
SergeyL1986
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Acceess и MySQL (долго погружается)
Сергей Лалов,

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

А какие варианты еще есть?
...
Рейтинг: 0 / 0
11.01.2018, 23:10
    #39582887
vmag
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Acceess и MySQL (долго погружается)
SergeyL1986Перенес БД на MySQL, работает медленно...в чем может быть причина?

раньше ты работал на встроенном родном джете, по этому и было быстро, - MySQL совсем другое, да еще через интернет... тут нужно полностью менять идеологию, нужно делать самому некое подобие vb-net... у меня один проект работает с периферией на USB модемах мегафона, но чего это стоило... в общем если тупо таблицы из mdb закинуть в mysql скорее всего получится фигня (в локалке еще так сносно и при больших объемах может еще и выигрыш получится, но если через интернет - то точно фигня). Через интернет использовать MySql интересно в качестве буфера обмена между основными локальными бд, да то, только потому что халява...
...
Рейтинг: 0 / 0
12.01.2018, 02:24
    #39582941
Сергей Лалов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Acceess и MySQL (долго погружается)
vmag,
Ну тут дело в скорости интернета скорей всего, у меня на достаточно шустрой машине с тарифом 100мб/сек вполне работоспособно тестировалось. Проверяли так, я за сервер в Москве, стат.айпишник. И две клиентские части разосланы в Питер и Екатеринбург. Нормально, бодрячком. Связь отличная. Пару моментов ,которые немного ускоряют работу это как я писал выше - создать пользователя с урезанными правами, и второй момент - не использовать Inno DB, а использовать MyIsam при создании таблиц. Очень сносно. Сейчас интернет дешевый и скоростной) Использовал в качестве сборки MySQL набор WAMP server.(просто как доп.инфо)
...
Рейтинг: 0 / 0
12.01.2018, 06:34
    #39582960
MrShin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Acceess и MySQL (долго погружается)
Для ускорения нужно в первую очередь минимизировать трафик между сервером и клиентом. Для этого могут потребоваться приличные переделки приложения, перенос какой только возможно логики на сервер через процедуры/триггеры, использовать pass-through запросы вместо линкованных таблиц, добавить кэширование справочных таблиц, иногда, если возможно, добавляется и кэширование основных таблиц - в общем, работы может потребоваться много.
...
Рейтинг: 0 / 0
12.01.2018, 11:31
    #39583163
bubucha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Acceess и MySQL (долго погружается)
авторА какие варианты еще есть?
Если только из того что у вас есть, то отказаться от линковки и переделать все на запросы к серверу, правки оформить вызовом хранимок и пр...
Работать через инет с линковаными таблицами...дело даже не в тормозах, а в стабильности канала. Работать будет, вопрос в том, как это будет работать под нагрузкой.
У вас субд просто торчит наружу?
...
Рейтинг: 0 / 0
12.01.2018, 11:32
    #39583167
bubucha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Acceess и MySQL (долго погружается)
упс...предыдущего сообщения не узрел, сорян за повтор идеи:-)
...
Рейтинг: 0 / 0
12.01.2018, 13:25
    #39583277
SergeyL1986
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Acceess и MySQL (долго погружается)
Inno DB, а использовать MyIsam

Попробую)))
Всем спасибо за советы!
...
Рейтинг: 0 / 0
12.01.2018, 15:45
    #39583364
SergeyL1986
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Acceess и MySQL (долго погружается)
bubucha,

Подскажите пожалуйста, в эксесе есть возможность прилинковать таблицы из MySQL (что я и сделал сейчас). А вот из Vba сделать соединение я так понимаю это совсем другое? Не могли бы вы дать пример/поделиться информации как сделать соединение с MySQL через вба.
...
Рейтинг: 0 / 0
12.01.2018, 16:06
    #39583371
Сергей Лалов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Acceess и MySQL (долго погружается)
Ребят, коннекторы последних версий по умолчанию кешируют информацию. Там много интересных плюшек в настройках.
И с соединением достаточно гибко работают, и курсоры поддерживают, и запрессовывают данные, и много чего еще
На сайте разработчиков есть даже рекомендованные параметры для работы с ms access, ms sql server e.t.c.
Вот детальное описание всех свойств/свистоперделок данного коннектора, от сохи так сказать:
СЮДА ХАДИ
Можно как в коде их все задавать, так и просто галочки потыкать в стандартном визуализированном виде, если просто линковать.)
...
Рейтинг: 0 / 0
12.01.2018, 16:15
    #39583376
vmag
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Acceess и MySQL (долго погружается)
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


чтоб не парить мозг, перед каждым подключением лучше делать отключение
...
Рейтинг: 0 / 0
12.01.2018, 16:42
    #39583395
bubucha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Acceess и MySQL (долго погружается)
SergeyL1986bubucha,
Подскажите пожалуйста, в эксесе есть возможность прилинковать таблицы из MySQL (что я и сделал сейчас). А вот из Vba сделать соединение я так понимаю это совсем другое? Не могли бы вы дать пример/поделиться информации как сделать соединение с MySQL через вба.
вот конкретно по мускулу нету кода для копипаста, есть кусок класса для тестирования коннекта с postgresql, что сути не меняет... тут собственно
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
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
...
Рейтинг: 0 / 0
12.01.2018, 21:25
    #39583553
Сергей Лалов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Acceess и MySQL (долго погружается)
Просто ради эксперимента создал БД и подключил к серверу MySQL с гостевым доступом. Несвязан с именованным экземпляром драйвера , поэтому просто можно скачать и попробовать запустить. Формат accdb. Таблицы MyIsam. Столбцов 13, записей около 60000 тысяч.
!!! Если драйверов MYSQL на компьютере нет, то предварительно надо установить их ОТСЮДА и только потом открывать аксесс. Ставьте сразу и 64 и 32

Сервер находится в лен.области. Будет работать сегодня часов до 24.00 мск)
...
Рейтинг: 0 / 0
12.01.2018, 23:27
    #39583582
SergeyL1986
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Acceess и MySQL (долго погружается)
Сергей Лалов,

Работает вроде как быстро если говорить что вытягивает 60000 строк (8-12 секунд открывает форму фм-мониторинг (с момента запуска)), у меня 150 записей (демо), а тянет что то долго...
...
Рейтинг: 0 / 0
12.01.2018, 23:28
    #39583584
SergeyL1986
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Acceess и MySQL (долго погружается)
Спасибо за пример
...
Рейтинг: 0 / 0
12.01.2018, 23:36
    #39583586
Сергей Лалов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Acceess и MySQL (долго погружается)
SergeyL1986Спасибо за пример

Пожалст. ) Он по началу да, на загрузку тратит нное время. Но потом скорость такая же как и в обычном аксессе, после того как загрузилась база. Коннектор кэширует таблицы. И кстати при следующей загрузке по идее должно быть быстрей.
...
Рейтинг: 0 / 0
12.01.2018, 23:46
    #39583588
Сергей Лалов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Acceess и MySQL (долго погружается)
Кстати параллельно фильм качается, и сын в overwatch играл, так что нагрузка на компьютер не особо и большая у mysql. )
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Acceess и MySQL (долго погружается) / 20 сообщений из 20, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]