Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Почему тормозит IB 6 при большом кол-ве записей? / 7 сообщений из 7, страница 1 из 1
24.06.2004, 09:07:48
    #32574882
Kolya1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему тормозит IB 6 при большом кол-ве записей?
Здравствуйте. Не подскажите, почему при большом количестве записей в таблице, выборка из нее идет очень медленно? Кол-во записей - порядка 10 млн. Время выборки сравнивалось с другими СУБД (MS SQL Server, Oracle). Результат хуже раза в два, хотя на меньшем кол-ве записей (0,5 млн.), ИБ 6 был быстрее. Я думал проблема в испорченных индексах, пересоздал их - тот же результат.
...
Рейтинг: 0 / 0
24.06.2004, 09:13:31
    #32574891
anjey
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему тормозит IB 6 при большом кол-ве записей?
IB это все-таки "настольная" СУБД, у меня и на миллионе записей MSSQL его "делает" по скорости, раза в два !!!
А его (MSSQL-я) делает Informix !!! в 3 раза !!! ;)
...так что...
...
Рейтинг: 0 / 0
24.06.2004, 09:16:54
    #32574898
Winni-Pooh
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему тормозит IB 6 при большом кол-ве записей?
А может у тя запрос кривой? А скока записей ты выгружаешь за раз? А настройки кэширования? Фрагментация диска? 10млн не шутка
...
Рейтинг: 0 / 0
24.06.2004, 09:35:42
    #32574928
Kolya1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему тормозит IB 6 при большом кол-ве записей?
Таблица: CREATE TABLE tbl1 (id1 int, id2 int, str1 varchar)
В ней есть еще поля, но они в данных запросах не учавствуют (еще два целочисленных поля)
Запрос: SELECT id1 FROM tbl1 WHERE id2=<value1> AND str1=<value2>
Индексы действительно не соответствуют данному запросу:
CREATE INDEX ind1 ON tbl1(id1)
CREATE INDEX ind2 ON tbl1(id2)

Лучше было бы, видимо, CREATE INDEX ind1 ON tbl1(id2, str1, id1)

За раз выбирается несколько тысяч записей, про кэширование - не знаю, все по-умолчанию. Фрагментация диска - все БД находятся на отдельных чистых дисках, фрагментации быть не должно.

Просто, что странно, так это то, что будучи более бысрым на небольшом кол-ве записей, ИБ уступает на большем кол-ве. Может быть действительно, все дело в кэше? Не подскажите, где про это можно почитать?
...
Рейтинг: 0 / 0
24.06.2004, 09:46:36
    #32574943
Winni-Pooh
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему тормозит IB 6 при большом кол-ве записей?
Почитай А.Ковязин,С.Востриков "Мир InterBase". Настройки конфигурационного файла (DATABASE CASHE PAGES). Если несколько тысяч записей за раз - то конечно лучше не InterBase - он типичный OLTP сервер. При такой выборке оперативки не менее 200мб на сервак. Кстати, у тя какой сервер? IB? FB? Yf?
...
Рейтинг: 0 / 0
24.06.2004, 09:52:56
    #32574953
Kolya1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему тормозит IB 6 при большом кол-ве записей?
У меня IB 6.
...
Рейтинг: 0 / 0
24.06.2004, 10:08:56
    #32574987
Zmeishe
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему тормозит IB 6 при большом кол-ве записей?
WHERE id2=<value1> AND str1=<value2>
Вот и строй индекс
CREATE INDEX ind1 ON tbl1(id2, str1)
или
CREATE INDEX ind1 ON tbl1(str1, id2)
И смотри, какой эффективнее работает тот и оставишь.
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Почему тормозит IB 6 при большом кол-ве записей? / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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