|
|
|
| Заказчику надо было сделать базу ИМЕННО на Access. Сделала, но в базе ОЧЕНЬ много различных фильтров. Фильтр есть практически на каждом текстовом поле и вып. списке, а так же данные в вып. списках тоже постоянно фильтруются. Соответветственно, когда в таблице 100 записей, то и вып. списки открываюся быстро и фильтры тоже работаю быстро. А вот когда в таблицах записей 700, то база начинает тормозить. И как раз это заказчику и не нравится. Можно ли как-нибудь увеличить производительность базы? А еще лучше подскажите на чем лучше переписать эту ошибку природы? Предпологается использовать базу, когда в ней будет примерно 200 тыс записей. | |
|
| |
|
|
|
| >>на чем лучше переписать эту ошибку природы?
вы о генетической?
почитайте об индексах, об организации данных, о нормализации данных...
вы думаете, что если у вас есть машина и вы получили права, то вы состоявшийся автогонщик? отнюдь | |
|
| |
|
|
|
| Ага о генетической!
О индексахи организации данных я знаю. Суть в том, что эти настройки увеличат производительность отсилы процентов на 8, а что дальше???
Может есть что-то посущественней?
И всетоки на чем ее можно переписать (ну там Delphi, MySql), только так чтобы производительность увеличилась в разы? | |
|
| |
|
|
|
| Извините, но тормоз исключительно от недостаточности Ваших знаний....
Поэтому переписывать надо на том языке - которым Вы хорошо владеете.
Иначе эффект будет тот же - дефект...
=======================================================
Фильтры нужно заменить на запросы .....
попробуйте хотя бы самые критично тормозные поменять.... и Вы почуствуете разницу | |
|
| |
|
|
|
| Интересно посмотреть на эту фильтрацию.........
Я фильтр - ну максимум один в программу впихиваю - и то если уже больше нечего впихнуть ...
=========================================
а вотт этто я ваще не врубаюся (фильтр есть почти в каждом текстовом поле ) | |
|
| |
|
|
|
| а вотт этто я ваще не врубаюся (фильтр есть почти в каждом текстовом поле ). Может конечно я и не корректно написала. Имела ввиду, что изменение практически любого поля приводит к фильтрации большого кол-ва данных в подчененной форме.
И если Вам такие базы не попадались значит вам просто повезло!!!
Пример фильтрации:
Есть ленточная форма в которой производитель, наименование, расшифровка, артикул - вып. списки.
Если все вып списки пустые, то они формируются из данных прошлых сделок (сделок 200 тыс!!!!!), если хотябы одно из вып списков заполнено (например наименование), то все последующие вып. списки уже формируются на основе тех сделок где есть это наименование. Так же есть подчиненная форма, которая фильтруется при любом изменении выше перечисленных полей. В свою очередь подчиненная форма также фильтруется при движении по ленточной форме. | |
|
| |
|
|
|
| не понимаю в чем сложности :) а длина полей текстовых разная(оптимальная) или всё по 255?
переходите на Oracle или MS SQL | |
|
| |
|
|
|
| Всё равно не понятно почему тормоза???
А Вы запросами уже пробовали.
В запросе условия отбора записей - это поля Вашей формы...
============================================ | |
|
| |
|
|
|
| ААААААААА есть ещё момент - настройка опций самого Access - может там что то изменить - например не отслеживать автозамену имён.. | |
|
| |
|
|
|
|
|
| а вопросик - зачем формировать из всех прошлых сделок - смысл видеть действия 2000-го года - данные уже не актуальны, мягко сказано, возможно нужен немного другой подход к построению форм - ТЗ. из опыта работы могу сказать, что много форм/отчетов приходится переделывать после того как начинают работать пользователи, так что форма которую заказчик (директор) хочет видеть не факт что исполнители не скажут на фиг она нам, нам нужно по другому.
сама идея о виде 200 тыс. записей наводит на мысль об избыточности - может нужно сделать кнопку "Сформировать" - по нажатию кототрой будет работать подчиненная форма. | |
|
| |