![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проблема скорости в базе данных [D5, IB5.x]
Sirus © (2002-04-25 06:41:00)Привет Мастерам... Есть тут проблемка...
База: InterBase 5.5
использую DataModule. Открываю Database затем создаю запрос Query, а потом данные запроса через DataSource на форму в DBGrid... Все работает, только работает очень медленно. Особенно если в процессе работы программы запрос обновляется. В таблице около 500000 записей. Таких таблиц около 10. При формировании запроса на каждую таблицу уходит около 12 секунд. Может есть другой способ работать с таблицами создавая запросы, более быстрый... подскажите, а то при сохранении программа "зависает" на минуту и более...
arhelon (2002-04-29 08:48:00) [1]На таких объёмах всё равно будет тормозить. Индексы помогут но тормоза остануться. Тут главное что надо понимать в SQL это то что чем меньше данных возвращает запрос тем быстрее он выполняется. А посему делай отбор более конкретный для узера.
Показывать юзеру >1000 записей не имеет смысла потому как они всё равно не воспринемаются визуально. Вот и думай что показывать (вибирать) а что не стоит.
Desdechado (2002-04-28 15:48:00) [2]По индексам поиск (where) и сортировка (order by) на порядки быстрее проходят
Johnmen (2002-04-26 14:18:00) [3]Проще всего почитать книжки по поводу индексов и определиться, какие надо скастромить для конкретных таблиц, после чего и осуществить это... :)
Sirus (2002-04-26 14:13:00) [4]Записей в таблице около 500 000,
а индексов в таблицах нету... нигде...
Если можно, то дайте плииз инфу по индексам, а то чет не пойму каким боком они к этим таблицам подходят...
Alexandr (2002-04-25 13:11:00) [5]при чем тут сохранение?
1) индекс по changed и subs_code есть?
2) сколько записей в таблице?
Sirus (2002-04-25 13:05:00) [6]Запрос достаточно простой... тут по моему даже нечего крутить...
select * from SUBS_DATA
where CHANGED<>"3"
order by SUBS_CODE
вот и весь запрос... тут во всех таблицах используются такие запросы... сложных запросов не делаю..
А сохранение
DataModule.Query.Post
Alexandr (2002-04-25 07:30:00) [7]Это к доктору
надо просто запрос правильно написать, индексы к таблицам создать правильные.
Ты бы привел тута че-за запрос, че-за таблицы, мы б тебе запрос томогли подкрутить.