Наши преимущества

MySQL Delphi. Компоненты для работы с MySQL

Ruslan82

Турист
Credits
150
Друзья!

Инфы в интернете много, но времени на испробовать все категорически нет, поэтому нужна информация из опыта использования различных компонентов в делфи для работы с MySQL. Компонентов я видел много, хотелось бы инфа типа "работал с UniDAC поменял на MyDAO и все полетело, или наоборот, или не полетело, скорость не изменилась, но работает стабильнее и возможностей больше.

Есть софт который разработали и продаем и стала задача перевести его с Access на более серьезную базу. Полгода тестили Postgre но она КРАЙНЕ медленная, когда дело заходит про апдейт таблиц с индексами, нужно удалять индексы и делать другие подпорки, может заодно, чтобы не плодить тем, посоветуете и на счет MySQL, чтобы не терять еще полгода, может с ней такие же косяки, хотя плотно работал с нею лет 5 назад и таких проблем не было замечено. Платные БД изначально не рассматриваются, но может тот же Firebird или Interbase будет с делфи работать быстрее чем MySQL. Речь о работе с таблицами, содержащими 1-10 млн. записей.

Спасибо всем заранее!
 
Друзья!

Инфы в интернете много, но времени на испробовать все категорически нет, поэтому нужна информация из опыта использования различных компонентов в делфи для работы с MySQL. Компонентов я видел много, хотелось бы инфа типа "работал с UniDAC поменял на MyDAO и все полетело, или наоборот, или не полетело, скорость не изменилась, но работает стабильнее и возможностей больше.

Есть софт который разработали и продаем и стала задача перевести его с Access на более серьезную базу. Полгода тестили Postgre но она КРАЙНЕ медленная, когда дело заходит про апдейт таблиц с индексами, нужно удалять индексы и делать другие подпорки, может заодно, чтобы не плодить тем, посоветуете и на счет MySQL, чтобы не терять еще полгода, может с ней такие же косяки, хотя плотно работал с нею лет 5 назад и таких проблем не было замечено. Платные БД изначально не рассматриваются, но может тот же Firebird или Interbase будет с делфи работать быстрее чем MySQL. Речь о работе с таблицами, содержащими 1-10 млн. записей.

Спасибо всем заранее!
Ты думаешь на уровне MySQL инедксов нет?

Скорее всего в твоем случае компоненты не помогут
У вас неправильно организована структур БД
 
индексы есть везде, в Access тоже, 2 аналогичные таблицы в аксес и потсгре, содержат одинаковые индексы и 100 000 товаров. в аксесе update выполняется 10 сек, в постгре - 10 минут, если удалить индексы - 5 сек. с базами и структурой базы все нормально. Я собираюсь использовать UniDAC, но может есть лучше компоненты для работы с MySQL
 
индексы есть везде, в Access тоже, 2 аналогичные таблицы в аксес и потсгре, содержат одинаковые индексы и 100 000 товаров. в аксесе update выполняется 10 сек, в постгре - 10 минут, если удалить индексы - 5 сек. с базами и структурой базы все нормально. Я собираюсь использовать UniDAC, но может есть лучше компоненты для работы с MySQL
Не может быть такого

Я когда раньше использовал SQLDirect
 
Не может быть такого

Я когда раньше использовал SQLDirect

да, я тоже начитался перед выбором постгри какая она крутая, а потом гуглил по поводу update - у всех так, все пишут что это нормально, постгре в общем когда делаешь update table set field = 1 where code = 2 - обновляет индексы каждую запись! т.е. если запросом должно обновиться 100 записей то она обновляет индекс 100 раз... жесть, причем даже если индексные поля не используются в запросе. и типа кто как рекомендует, кто типа через временную таблицу обновлять, кто индексы удалять
 
но может тот же Firebird или Interbase будет с делфи работать быстрее чем MySQL
По любому.
Сам юзаю птичку уже 13 лет.
FibPlus (VCL) сейчас тоже бесплатный, деврейс его в народ отдала.
Единственное чего не хватает - встроенной репликации.
Но, говорят, в 4 версии будет.
 
Absolute Database
"Description
-----------

With AbsoluteDatabase you can forget the Borland Database Engine (BDE) .
Absolute Database is the compact, high-speed, robust and easy-to-use database engine.
With Absolute Database you will not need special installation and configuration,
it compiles right into your EXE.
Make your application faster and smaller with Absolute Database!

Key Features:

· No BDE; no DLLs
· SQL'92 (DDL & DML) support
· Single database file
· Unmatched ease-of-use
· 100% compatibility with standard DB-aware controls
· Strong encryption
· BLOB compression
· Full source code available
· Royalty-free
"
 
1. fireBird: There is a strong but inconvenient use. Encryption and more ...
2. NexusDB: Powerful, fast and reliable, but slow for networking. Supported by Unidac.
3. AbsoluteDatabase: Similar to NexusDB, but with a slightly lower overall score.
4. DBISAM: It's easy to write and share, but I'm a bit nervous now.
 
и как остальные, кроме файрберд из списка, справятся с 10 млн записей в таблице?
 
Если в планах использовать MySQL то лучше сразу использовать MyDAC.

Добавлено через 2 минуты
индексы есть везде, в Access тоже, 2 аналогичные таблицы в аксес и потсгре, содержат одинаковые индексы и 100 000 товаров. в аксесе update выполняется 10 сек, в постгре - 10 минут, если удалить индексы - 5 сек. с базами и структурой базы все нормально. Я собираюсь использовать UniDAC, но может есть лучше компоненты для работы с MySQL

А в чем именно причина такого поведения? Не ужели обновление индекса занимает столько времени? Есть структура таблицы? А триггеры используются?
 
Последнее редактирование модератором:
Не давно тоже стояла задача переделать БД коммерческого проекта под MySql, попробовал использовать стандартные компоненты доступа FireDAC. Вроде нормально работает никто пока не жаловался из клиентов. :) Со всеми стандартными компонентами (dbGrid, dbEdit и т.д.) работает весьма слажено.
 
Долгое время работал через ADO, несколько лет назад перешел на UniDAC. Ни в первом, ни во втором случае никаких проблем при работе с MySQL не наблюдалось. А вообще, многое зависит от распределения бизнес-логики между клиентом и сервером. Если как можно больше бизнес-логики выносить в хранимые процедуры, триггеры и представления, то интерфейс доступа к базе играет минимальное значение.
 
Верх