powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Требуется совет по быстродействию БД !
10 сообщений из 10, страница 1 из 1
Требуется совет по быстродействию БД !
    #32297640
Фотография Deminik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Имеется таблица в БД .mdb, количество записей - 2 млн.

Порекомендуйте - что можно реализовать для повышения быстродействия при работе с этой таблицей, запросов, основанных на ней и т.п.

Индексирование - это понятно, но все-равно скорость не ахти. Может, конечно, я как-то не так делаю... ЧТО ПОСОВЕТУЕТЕ, интересно "послушать" Ваши мнения спецов...
...
Рейтинг: 0 / 0
Требуется совет по быстродействию БД !
    #32297644
Фотография Pavel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вариант 1: если это возможно, то раздели базу на 2 - архивную и оперативную. В результате можно существенно повысить скорость обращения к оперативной базе.

Вариант 2: Если база многопользовательская, то можно использовать терминальное решение. Это сильно разгрузит сетку и существенно повысит быстродействие.

Вариант 3: Вынеси таблицы на MSSQL (MSDE), прилинкуй их к клиентской mdb'шке. Для наиболее "тяжелых" запросов используй запросы к серверу.

Вариант 4, самый правильный: перенеси базу под MSSQL (MSDE), в качестве клиента используй проект adp, или другими словами переходи на технологию клиент-сервер. Конечно если используется множество форм и отчетов, работа по переносу может оказаться достаточно сложной, к тому же клиент-сервер требует изменения логики программирования. В результате если вынести бизнес-логику на сервер, и при условии правильного проектирования структуры базы, быстродействие окажется самым высоким среди предложеных вариантов.
...
Рейтинг: 0 / 0
Требуется совет по быстродействию БД !
    #32297645
Фотография vdimas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. индексы
2. сжатие
3. тщательный подбор типов данных, там где достаточно байт - использовать только байт, и т.д.
я для этого отказывался от автонумерации, делал ее сам и помещал в кеш удаляемые ID.
4. дефрагментация диска
5. побольше оперативки
6. побыстрее камень
7. переход на ORACLE или MS SQL
...
Рейтинг: 0 / 0
Требуется совет по быстродействию БД !
    #32297649
Фотография Deminik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
СПАСИБО БОЛЬШОЕ...
...
Рейтинг: 0 / 0
Требуется совет по быстродействию БД !
    #32297650
Фотография Pavel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
3. тщательный подбор типов данных, там где достаточно байт - использовать только байт, и т.д.
я для этого отказывался от автонумерации, делал ее сам и помещал в кеш удаляемые ID.

vdimas , поясни как отказ от автонумерации может повысить быстродействие? По моему как раз наоборот. К примеру, как ты получишь следующее значение? Max? на 2 000 000 записей? К тому же в многопользовательской среде это практически гарантия проблем.
...
Рейтинг: 0 / 0
Требуется совет по быстродействию БД !
    #32297654
Фотография vdimas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
поясняю,
вводится специальная таблица для всех счетчиков в системе, и еще одна специальная таблица-кеш, где хранятся пропущенные (удаленные) ID-шки. Этот способ проверен уже на 3-х немаленьких системах.
А быстродействие это повышает очень просто. После тщательного подбора типов данных размер базы данных может упасть вдвое. А уменьшение вдвое размера базы - это в среднем увеличение в четыре раза быстродействия.
...
Рейтинг: 0 / 0
Требуется совет по быстродействию БД !
    #32297670
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pavel писал:К тому же в многопользовательской среде это практически гарантия проблем.
Аксесовская реализация счетчиков - тоже не ахти и почти гарантия проблем
...
Рейтинг: 0 / 0
Требуется совет по быстродействию БД !
    #32297672
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pavel писал:Вариант 2: Если база многопользовательская, то можно использовать терминальное решение. Это сильно разгрузит сетку и существенно повысит быстродействие.
А не просадится ли сервер от большого количества пользователей??

Pavel писал:Вариант 3: Вынеси таблицы на MSSQL (MSDE), прилинкуй их к клиентской mdb'шке. Для наиболее "тяжелых" запросов используй запросы к серверу.
В большинстве случаев от такого решения быстродействие только снизится. Или придется практически все запросы переделывать на запросы к серверу (не только тяжелые, но и простые, типа "Delete * From Table1"), да еще и структуру данных подправить, Timestamp'ов в таблицы подабавлять (сам не пробовал, но говорят помогает)

А вот вариант 4 ( "перенеси базу под MSSQL (MSDE), в качестве клиента используй проект adp ") - самое оно, если не возможен вариант 1 (" раздели базу на 2 - архивную и оперативную "). Плохо становится аксесу с таким количеством записей.
...
Рейтинг: 0 / 0
Требуется совет по быстродействию БД !
    #32297674
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pavel писал:К примеру, как ты получишь следующее значение? Max? на 2 000 000 записей?
Отработает моментально (если поле индексированно)

Господи, что ж это я на Павла то накинулся?
Я не со зла
...
Рейтинг: 0 / 0
Требуется совет по быстродействию БД !
    #32297714
Фотография Pavel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дело в том, что я все больше по теоретической части :). И по MSSQL. Там счетчики не глючат. Зачастую возникает проблема сквозной нумерации, тогда решение vdimas вполне оправдано. Главное чтобы вопрошающему помогло.

Господа, думаемаем! Поменьше пьем и побольше думаем! Ик!
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Требуется совет по быстродействию БД !
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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