|
|
|
SQL запросы в большой базе
|
|||
|---|---|---|---|
|
#18+
Привет всем. таблицы (их около 15) насчитывают более 400 000 записей каждая и аксесс жутко виснет и тормозит при выполнии запроса. я слышал в sql есть функции которые позволяют решать эту проблему. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2003, 15:01 |
|
||
|
SQL запросы в большой базе
|
|||
|---|---|---|---|
|
#18+
Есть Код: plaintext Если же данные нужны (зачем-то) - тогда попробуй индексов понастроить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2003, 15:14 |
|
||
|
SQL запросы в большой базе
|
|||
|---|---|---|---|
|
#18+
верится с трудом :?) Access жутко тормозит и виснет если по такому набору записей применить фильтр или сортировку а если они используются для простого вывода данных в форме или отчете то скорость сравнительно сносная да будет Вам известно Access как и Lotus Approach выполняет спекулятивные запросы :?) ОНИ выдают результат только первой страницы на екран НЕМЕДЛЕННО, а в то время как Вы "разинув рот" смотрите на результат якобы "выполненного" запроса - данные СУБД дико досчитывают их до конца данное легко проверить если после отображения "результатов" запроса нажать на кнопку Перейти на последнюю запись Вот тогда будет то о чем Вы писали :?) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2003, 15:17 |
|
||
|
SQL запросы в большой базе
|
|||
|---|---|---|---|
|
#18+
2 СириусБ Тебе что, показать запрос, исполняя который аксес ахереет обрабатывать 400000 записей, а ты говном изойдешь прежде чем первую запись увидишь? А если индексы нужные уберешь - так вообще никогда ничего не дождешься. Не надо тут про спекулятивные запросы разглагольствовать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2003, 15:27 |
|
||
|
SQL запросы в большой базе
|
|||
|---|---|---|---|
|
#18+
я не понимаю о чем вы но если делать поиск по параметру то ооооооооочень долго. я спрашиваю о возможной оптимизации... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2003, 15:40 |
|
||
|
SQL запросы в большой базе
|
|||
|---|---|---|---|
|
#18+
raur писал:делать поиск по параметру то ооооооооочень долго Вот и сделай индекс по тому полю, в котором ищешь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2003, 15:44 |
|
||
|
SQL запросы в большой базе
|
|||
|---|---|---|---|
|
#18+
Виктор, окстись! Он тебя послушает и вывалит сюда 15 таблиц по 400000 записей каждая ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2003, 15:56 |
|
||
|
SQL запросы в большой базе
|
|||
|---|---|---|---|
|
#18+
а можно подробнее плиз ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2003, 15:59 |
|
||
|
SQL запросы в большой базе
|
|||
|---|---|---|---|
|
#18+
я не буду сюда вываливать эти табл.... вы мне про индексы подробнее расскажите.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2003, 16:02 |
|
||
|
SQL запросы в большой базе
|
|||
|---|---|---|---|
|
#18+
2raur >вы мне про индексы подробнее расскажите.... Индексирование (планирование и создание индексов) - это одна из важных работ при проектрировании БД, осуществляемая для ускорения выборки информации. Тема слишком широкая, чтобы просто так взять и расказать в двух словах - для начала попробуй что-нибудь почитать по данной теме (ну и про проеткирование - тоже). А пока просто дай текст твоего запроса ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2003, 16:09 |
|
||
|
SQL запросы в большой базе
|
|||
|---|---|---|---|
|
#18+
SELECT NAK.[Способ расчета], SPN.* FROM NAK INNER JOIN SPN ON (NAK.[Номер ТТН] = SPN.[Номер ТТН]) AND (NAK.[Код клиента] = SPN.[Код клиента]) WHERE (((NAK.[Способ расчета])="кн")); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2003, 13:29 |
|
||
|
SQL запросы в большой базе
|
|||
|---|---|---|---|
|
#18+
Во-первых открой схему данных и сделай связь между NAK и SPN по двум полям (Номер ТТН и Код клиента) Во-вторых можешь попробовать сделать индекс по полю NAK.[Способ расчета]) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2003, 13:36 |
|
||
|
SQL запросы в большой базе
|
|||
|---|---|---|---|
|
#18+
Связи между таблицами уже существуют (см запрос) а как проиндексировать? что это хоть такое? я сейчас в инете ищу статьи на эту тему... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2003, 13:47 |
|
||
|
SQL запросы в большой базе
|
|||
|---|---|---|---|
|
#18+
>>Связи между таблицами уже существуют (см запрос) Мдя. :( Скоко раз повторять, что связь (схемы) промеж таблицами, это вторичный ключ, для которого Аксесс сам скрытно создает индексы (кои можно даже просмотреть в соотв. семействе), а совсем не "связь" джойн в запросе. Если конечно проставлены требуемые отношения целостности в связ. А индекс, в первом приближении, это такая упорядоченная структура, по которой работают методы быстрого поиска (наподобие деления интервала пополам) без чтения всей структуры (в силу заведомой упорядоченности). Т.е. вы избавляетесь от необходимости читать таблицу с диска целиком для каждого запроса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2003, 14:02 |
|
||
|
SQL запросы в большой базе
|
|||
|---|---|---|---|
|
#18+
А не пробовал в хелпе слово "индекс" набрать? Хелп тебе много чего скажет. З.Ы. Еще попробуй таблицу в конструкторе открыть. З.З.Ы. Совсем не факт что индекс тут поможет. Разве что по нему большая часть записей отсечется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2003, 14:04 |
|
||
|
SQL запросы в большой базе
|
|||
|---|---|---|---|
|
#18+
индексы в хелпере нашел спасибо а есть ли возможность индексировать в ручную (например посредством кода)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2003, 14:23 |
|
||
|
SQL запросы в большой базе
|
|||
|---|---|---|---|
|
#18+
хошь в конструкторе (ручками), хошь кодом. усе в хелпе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2003, 14:27 |
|
||
|
|

start [/forum/topic.php?fid=45&fpage=1716&tid=1678034]: |
0ms |
get settings: |
13ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
29ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
| others: | 257ms |
| total: | 379ms |

| 0 / 0 |
