powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Зависимость скорости работы приложения от количества индексов
14 сообщений из 14, страница 1 из 1
Зависимость скорости работы приложения от количества индексов
    #38220793
Jonny540
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сегодня наблюдал за интересной дискуссией - двое программистов спорили, насколько влияет количество индексов
в таблицах базы данных на скорость выполнения приложения. Причем я не понял, на каком ЯП они пишут, плохо слышно было.
Мне стало интересно, а насколько это влияет в VFP? Не так давно дали сопровождать одну программу, там было 90% лишних индексов,
удалил, но на скорости работы это особо не сказалось, правда там небольшой объем и шустрая локалка.
Хотелось бы послушать мнение экспертов.
...
Рейтинг: 0 / 0
Зависимость скорости работы приложения от количества индексов
    #38220991
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ты описал обсуждение сферического коня в вакууме.
Конкретный ответ выводится опытным путем для конкретной задачи.

Тут ключевое слово не ЯП а приложение. Что делает это приложение?
если это OLAP, т.е. относительно статичная база для постороения отчетов - тут чем больше индексов тем лучше.
Если OLTP, т.е. идет непрерывный ввод данных, то индексов должно быть разумное количество, чтобы изменение не тормозило на перестроении индексов, но используемые выборки происходили максимально быстро. Это чистая теория.

Что касается непосредственно фокса (мое мнение): т.к. в DBFе нет блокировок то скорость изменения индексов в большинстве случаев не критична, как следствие не критично количество индексов. Тут как правило критично время создания индексов, т.к. при сбоях в сети/снятия задач/жестоких перезагрузках индексы портятся, т.е. надо их пересоздавать, т.е. время из пересоздания - это время на возобновление работы приложения. а тут каждый сам решает кому 30 сек долго, кому полчаса быстро.
...
Рейтинг: 0 / 0
Зависимость скорости работы приложения от количества индексов
    #38221055
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Jonny540,

Разумеется, чем больше индексов тем быстрее работает бд.

Тут естественно надо оговориться, что индексы должны быть нужными для приложения, не дублировать друг друга и т.п.
...
Рейтинг: 0 / 0
Зависимость скорости работы приложения от количества индексов
    #38221060
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivРазумеется, чем больше индексов тем быстрее работает бд.

Тут естественно надо оговориться, что индексы должны быть нужными для приложения, не дублировать друг друга и т.п.Наверное, всё же быстрее работает поиск в БД, а не сама БД
Ну и такое: если приложение построено на активном использовании SQL-синтаксиса, то иногда индексы вообще не требуются. Хотя я вопрос рашмор-оптимизации не изучал настолько глубоко (по сравнению с В.Максимовым)...
...
Рейтинг: 0 / 0
Зависимость скорости работы приложения от количества индексов
    #38221080
XAndy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZivJonny540,

Разумеется, чем больше индексов тем быстрее работает бд.



Ну и какой смысл в индексном файле, объем которого сопоставим или больше объёма данных? :)
...
Рейтинг: 0 / 0
Зависимость скорости работы приложения от количества индексов
    #38221205
Jonny540
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivТут естественно надо оговориться, что индексы должны быть нужными для приложения, не дублировать друг друга и т.п.Вот именно. В приложении, о котором я говорил, индексы были почти по каждому полю и их всевозможным комбинациям.
На кой черт это делалось, сказать не могу, получил уже все в готовом виде. И еще куча всяких дополнительных index в каких-то
промежуточных табличках, без которых можно прекрасно обойтись. Правда, раньше не было опции readwrite в select ... into cursor...
...
Рейтинг: 0 / 0
Зависимость скорости работы приложения от количества индексов
    #38221632
reware
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Jonny540
Мне стало интересно, а насколько это влияет в VFP? Не так давно дали сопровождать одну программу, там было 90% лишних индексов,
удалил, но на скорости работы это особо не сказалось
Да это влияет не только в VFP. При любом изменении ключевого поля, которое использовано в индексе, козе понятно, что это поле и его значение должно измениться в индексе. Соответственно, работа с индексами 1) с одной стороны ускоряет работу а 2) с другой стороны втихую грузит запись в индексные файлы и общую производительность системы.
...
Рейтинг: 0 / 0
Зависимость скорости работы приложения от количества индексов
    #38221866
Reese
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AndreTM Ну и такое: если приложение построено на активном использовании SQL-синтаксиса, то иногда индексы вообще не требуются.
Можно и без индексов, но скорость выборки будет очень низкой. Особенно, при работе по сети будет заметно.

Jonny540 Не так давно дали сопровождать одну программу, там было 90% лишних индексов,
удалил, но на скорости работы это особо не сказалось
Замерь скорость записи в эти таблицы. Чем меньше индексов - тем быстрее запись. А на выборку могло и не повлиять. Может, те что удалил и не использовались.
...
Рейтинг: 0 / 0
Зависимость скорости работы приложения от количества индексов
    #38221871
Reese
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
P.S. Индексы вообще-то с умом надо строить, а не просто побольше накидать.
...
Рейтинг: 0 / 0
Зависимость скорости работы приложения от количества индексов
    #38221889
Reese
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
XAndy у и какой смысл в индексном файле, объем которого сопоставим или больше объёма данных? :)
Зависит от того как будет индекс использоваться. Поиск по бинарному дереву быстрее чем линейный.
...
Рейтинг: 0 / 0
Зависимость скорости работы приложения от количества индексов
    #38222723
XAndy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Reese,

Это понятно, но сам же написал, что есть и запись... ;), а если пишут много и многие, а индексов, как тут пишут "чем больше, тем лучше" ))))))))) А зачем их больше, не говорят. Ну, ключевые поля - понятно, плюс поля, всегда участвующие в условия выборок, как даты... но зачем чем больше тем лучше - непонятно :)
...
Рейтинг: 0 / 0
Зависимость скорости работы приложения от количества индексов
    #38223252
q1w1e1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я наверное ошибаюсь, но виды представления данных могут быть как в таблице, так по записям(next, prev и т.д.), если рассматривать табличное представление(понимаю, что плохо, но так удобно тем кто c ними работает), если использовать свободные таблицы (без контейнера базы данных, котоые используют view, зато получается мобильное приложение, которое легко копируется на удаленные машины) и т.д.(много ещё если..), то индексы очень помогают не только для поиска, но и для отображения инф., Например есть поле Внутренее перемещение-(недавно склад сочинял...), есть поле Списано и т.д., ставишь индекс iif(empty(Дата внутр. перемещ),.T.,.F.), и так по каждому полю, заходишь в Акты списания, устанавливаешь индекс (set order to акты списания, set key to .T.), и просматриваешь акты.. и т.д.

PS: Я так примерный пример привел :-), что использование индексов на любителя...:-)
...
Рейтинг: 0 / 0
Зависимость скорости работы приложения от количества индексов
    #38223430
Reese
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
XAndy
Так ты же про объем индексного файла говорил. Он действительно может быть сопоставим по объему с самой таблицей. Причем все индексы могут быть целесообразными.
...
Рейтинг: 0 / 0
Зависимость скорости работы приложения от количества индексов
    #38224219
reware
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ReeseXAndy у и какой смысл в индексном файле, объем которого сопоставим или больше объёма данных? :)
Зависит от того как будет индекс использоваться. Поиск по бинарному дереву быстрее чем линейный.
А кто-то спорит ? Индексированный поиск (SEEK) на порядки быстрее, чем LOCATE. Кроме того, для любителей строить изысканные SELECT-SQL индексы просто незаменимы. А насчёт обьема индексного файла - а кого в наше время это колышет ? При нынешних HDD (много гигов) это есть такая ерунда...
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Зависимость скорости работы приложения от количества индексов
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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