andrzejn: (Default)
[personal profile] andrzejn
Давным-давно, когда Windows и SQL серверов ещё не было, базы данных уже были, и в них уже были индексы (даже в таких экзотических, как Btrieve, где не было полей). В те времена программисты сами думали о том, какие индексы им нужны для наилучшего быстродействия, и сами явно вызывали поиск каждой записи по тому или иному индексу.

Потом появились SQL сервера, которые научились сами составлять планы исполнения запросов и подбирать под них подходящие индексы из наличных. Правда, поначалу они делали это плохо - им часто приходилось подсказывать, какой индекс лучше брать. И индексы по-прежнему надо было придумывать и создавать явными командами.

Потом в дополнение к индексам появились статистики, и сервера стали составлять всё лучшие планы запросов, пока не превзошли в этом абсолютное большинство людей. Но индексы и статистики по-преэнему надо было сочинять самим.

Потом практически во все сервера добавили утилиты-оптимизаторы, которые анализировали предложенные запросы на наличных данных и, зная тайные алгоритмы планировщика, подсказывали, какие индексы и статистики надо ещё создать, чтобы повысить скорость. Но подбирать список запросов, просматривать список советов и запускать его на исполнение по-прежнему нужно вручную.

Следующий очевидный шаг - чтобы SQL сервера сами анализировали поступающие запросы в ходе обычной повседневной работы, сами создавали новые индексы и статистики, когда надо, а устаревшие - удаляли. А потом и вовсе отобрать эту возможность у программистов. Любопытно, это где-нибудь уже сделали?

Date: Friday, 11 September 2009 07:59 (UTC)
From: [identity profile] c-a-s-u-s.livejournal.com
Btrieve - давно хотел спросить, одно из мест работы R-Style?
GetGE GetEQ =))

отобрать у программистов не нужно

Date: Friday, 11 September 2009 12:01 (UTC)
From: [identity profile] freedom_of_sea.livejournal.com
иногда нужно чтобы редкий запрос тем не менее исполнялся быстро, и индексов на него не жалко.

А вообще да.

Date: Friday, 11 September 2009 13:53 (UTC)
From: [identity profile] gouriev.livejournal.com
википедия говорит (да я и сам помню ;) ),
что SQL DBMSы появились раньше btrieve.
правда, на ПК они пришли, действительно, позже.

Date: Friday, 11 September 2009 13:55 (UTC)
From: [identity profile] gouriev.livejournal.com
ага, интересный дискурс.
следующий очевидный шаг -
чтобы компутеры сами проектировали
схему БД. для начала, хотя бы,
сами выполняли нормализацию.

(со страхом) или это уже есть ?

Date: Friday, 11 September 2009 18:43 (UTC)
From: [identity profile] richana.livejournal.com
Ага, классическое:
Чайник: написал программу - не идет.
Гуру: ты что написал? "Хочу базу данных". Конечно, не пойдет. Добавь "чтоб работала". 7:)))

Date: Sunday, 13 September 2009 11:17 (UTC)
From: [identity profile] besm6.livejournal.com
42. Все придумано до нас...

Profile

andrzejn: (Default)
Андрій Новосьолов

February 2026

M T W T F S S
       1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 2728 

Most Popular Tags

-

Style Credit

Expand Cut Tags

No cut tags
Page generated Friday, 27 February 2026 15:59
Powered by Dreamwidth Studios