![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
INTERBASE и тормоза [D6, IB6.x]
Pavel_S © (2002-04-20 16:24:00)Есть база данных, в которой есть мастер таблица (около 20 тыс. записей) и около 30 detail таблиц с с еще большим количеством информации.
Наблюдаются тормоза при навигации в таблице.
Посоветуйте как лучше оптимизировать базу данных и мой код.
Есть ли смысл сделать к примеру так:
Если у меня на экране нужно отобразить информацию из нужных подчиненных таблиц, то только их и активировать, а другие не трогать ?
Ura (2002-04-25 14:38:00) [1]Лучше всего напиши хранимую процедуру. В ней свяжеш все таблицы и определишь связи. На входе будет ID головной таблицы - а на выходе все связанные данные. Пусть СУБД работает... Про индексы не рассказываю и про способы объеденения тоже. Разберешься находу...
Vasilii (2002-04-25 14:27:00) [2]У тебя на одной форме 2 или более DBGrid"а подключенные к взаимосвязанным DataSet"ам. Я правильно понял? Если да то на KeyDown в гриде ставь отключение DataSource связанных DataSet"ов, а на KeyUp восстанавливай прежние значения. Получается немного быстрей.
kaif (2002-04-21 14:36:00) [3]Разумеется, если какая-то информация в данный момент не нужна - лучше ее не запрашивать. Само по себе Master-detail отношение между потомками TDataSet при SQL-ориентированных базах просто переоткрывает подчиненные запросы при каждом перемещении на новую запись в главной таблице.
Еще нужно быть уверенным, что Master-detail отношение опирается на индексированные поля (в подчиненных таблицах есть индексы по master-полю). Но я думаю, это Вы не забыли сделать.
Anatoly Podgoretsky (2002-04-21 12:14:00) [4]"и мой код" в нем поставь where ...
Pavel_S (2002-04-21 08:08:00) [5]Через sql. ibquery и ibdataset.
evgeg (2002-04-20 20:58:00) [6]А вы что, TTable используете?