powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Что лучше сипользовать?
10 сообщений из 10, страница 1 из 1
Что лучше сипользовать?
    #32286920
vano_vvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
База данных состоит из примерно 10 таблиц. Все таблици имеют одинаковую структуру - пять полей тика int, одно поле - ключевое. В таблицах порядка 10 000 000 записей. Нужно на локально компьютере извлечь порядка 80 000 записей за 3-4 сек. Компьютер Cel667 128Мб ОЗУ, Win2k. Клиент нужно написать на С/С++ в виде dll для использования в LabView.

Какую СУБД порекомендуете
...
Рейтинг: 0 / 0
Что лучше сипользовать?
    #32286933
Gold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тут, как по мне, что-то файл-серверное как раз подойдёт, типа парадокса, фокса, аксеса и прочего, ну или мускул можно попробовать. Думаю, что 10 млн. записей он переживёт
...
Рейтинг: 0 / 0
Что лучше сипользовать?
    #32286940
vano_vvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
аксес через ODBC тормозит ужасно (где-то 30сек). mysql через ODBC лучше (первый запрос 15-20сек последующие 5-10). libmysql.dll при вызове из LabView почему-то приводит к ошибке типа "Приложение выполнело недопустимую операциию и будет закрыто".
В качестве клиента использовал SQLAPI++ 3.1.3
...
Рейтинг: 0 / 0
Что лучше сипользовать?
    #32286977
Фотография brahew
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Бери DBF, если правильно организуеш индексы и будеш правильно применять индексные фильтры, то быстродействие на локальной машине будет самое оно
...
Рейтинг: 0 / 0
Что лучше сипользовать?
    #32287039
andy753
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуй ASA 8.x или лучше 9.х. А вообще я для такого числа данных писал собственный (простейший) компонент доступа на файлах. Правда там в большинстве ситуаций доступ был четко определен. Ну типа - выгребать все данные за день, за последний час текущего дня...

Поэтому и структура файлов и доступ к данным был гораздо быстрее СУБД. Но и задача была не общая :)
...
Рейтинг: 0 / 0
Что лучше сипользовать?
    #32287141
vano_vvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Прикрутил libmysql.dll к LabView - поекспериментирую еще -собщу что получилось. Что-то мне этот сервер начал нравится.
...
Рейтинг: 0 / 0
Что лучше сипользовать?
    #32287227
Фотография Хрен
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ODBC дает ощутимое снижение скорости (по крайней мере для mysql).

Если будете использовать mysql, надо попробовать вот что:

Я надеюсь у вас все выборки уже с индексами, так что давайте попробуем настроить буферы для mysql.

После такого запроса посмотрите состояние mysqld (это команда show status) И обратите внимание на переменные key_reads и key_read_request. Их нормальное отношение должно быть меньше чем 0.01. Если отношение больше, то надо в .ini файле увеличить параметр key_buffer_size.. (Скажем, для первой прикидки - примерно до половины RAM)
...
Рейтинг: 0 / 0
Что лучше сипользовать?
    #32287502
Balashov Denis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
смотря какой запрос будет... Приведи пример хотя бы.

--with regards, Denis
...
Рейтинг: 0 / 0
Что лучше сипользовать?
    #32288142
vano_vvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
запрос примерно такой
SELECT * FROM Tab WHERE Dt BETWEEN 100000 AND 200000 ORDER BY Dt
поле Dt - int primary key

За сколько времени можно заполнить двумерный массив не учитывая время на выделение памяти под этот масив? Все поля - int. Комп - Cel667 128Мб ОЗУ Win2k
...
Рейтинг: 0 / 0
Что лучше сипользовать?
    #32288171
vano_vvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
тут еще вопрос - функция mysql_fetch_row возвращает массив строк, далее им надо делать atoi чтоби преобразовать в int. Можно ли как-то получить данные того типа что мне надо? все-таки выполнить 400000 раз atoi - это тоже отнимет некоторое время .
И еще а если у меня будет double и будет крайне нежелательно потерять точность на преобразованиях из строк, что делать?
Я потозреваю что данные то сохраняются в файлах как положено : int - 4 байта, double - 8 байт, и т.д. а не в виде строк (число 1234567 сохреняется как последовательность байт 0x87 0xD6 0x12 0x00 а не как 0x31 0x32 0x33 0x34 0x35 0x36 0x37) Есть какой-то механизм непосредственно получить эти байты?
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Что лучше сипользовать?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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