Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.05.23;
Скачать: CL | DM;

Вниз

Проблема скорости в базе данных   Найти похожие ветки 

 
Sirus ©   (2002-04-25 06:41) [0]

Привет Мастерам... Есть тут проблемка...
База: InterBase 5.5
использую DataModule. Открываю Database затем создаю запрос Query, а потом данные запроса через DataSource на форму в DBGrid... Все работает, только работает очень медленно. Особенно если в процессе работы программы запрос обновляется. В таблице около 500000 записей. Таких таблиц около 10. При формировании запроса на каждую таблицу уходит около 12 секунд. Может есть другой способ работать с таблицами создавая запросы, более быстрый... подскажите, а то при сохранении программа "зависает" на минуту и более...


 
Alexandr ©   (2002-04-25 07:30) [1]

Это к доктору

надо просто запрос правильно написать, индексы к таблицам создать правильные.

Ты бы привел тута че-за запрос, че-за таблицы, мы б тебе запрос томогли подкрутить.


 
Sirus ©   (2002-04-25 13:05) [2]

Запрос достаточно простой... тут по моему даже нечего крутить...
select * from SUBS_DATA
where CHANGED<>"3"
order by SUBS_CODE

вот и весь запрос... тут во всех таблицах используются такие запросы... сложных запросов не делаю..
А сохранение
DataModule.Query.Post


 
Alexandr ©   (2002-04-25 13:11) [3]

при чем тут сохранение?

1) индекс по changed и subs_code есть?
2) сколько записей в таблице?


 
Sirus ©   (2002-04-26 14:13) [4]

Записей в таблице около 500 000,
а индексов в таблицах нету... нигде...
Если можно, то дайте плииз инфу по индексам, а то чет не пойму каким боком они к этим таблицам подходят...


 
Johnmen ©   (2002-04-26 14:18) [5]

Проще всего почитать книжки по поводу индексов и определиться, какие надо скастромить для конкретных таблиц, после чего и осуществить это... :)


 
Desdechado ©   (2002-04-28 15:48) [6]

По индексам поиск (where) и сортировка (order by) на порядки быстрее проходят


 
arhelon ©   (2002-04-29 08:48) [7]

На таких объёмах всё равно будет тормозить. Индексы помогут но тормоза остануться. Тут главное что надо понимать в SQL это то что чем меньше данных возвращает запрос тем быстрее он выполняется. А посему делай отбор более конкретный для узера.
Показывать юзеру >1000 записей не имеет смысла потому как они всё равно не воспринемаются визуально. Вот и думай что показывать (вибирать) а что не стоит.



Страницы: 1 вся ветка

Текущий архив: 2002.05.23;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.019 c
1-73263
Gnom
2002-05-10 20:34
2002.05.23
CTRL+C и Shift+Ins


6-73333
Programmer1
2002-03-12 16:37
2002.05.23
Создание сетевого диска


7-73432
Keymaster
2002-02-24 15:12
2002.05.23
Как юзать Cards.dll?


14-73359
lipskiy
2002-04-13 22:16
2002.05.23
Подготовлен первый вариант ТЗ на разработку Единой Базы!


1-73191
BM
2002-05-14 14:33
2002.05.23
Запись из потока в динамический массив