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

Вниз

РАЗБИТЬ БОЛЬШУЮ ТАБЛИЦУ НА МЕНЬШИЕ   Найти похожие ветки 

 
KonstVD   (2002-11-14 13:28) [0]

Есть таблица db с приличным количеством записей, поля, по которым производятся выборки - символьное имя документа и циферное=тип документа[0..9]+ID[0..999999]. Чаще выбирается
по циферному имени. Если разбить таблицу на 10 меньших по типу док-та (db0, db1, ..., db9) и при выборке по циферному Nnnnnnn делать select * from dbN where X=nnnnnn увеличится ли заметно
быстродействие? И насколько? И как тогда правильно делать select из всех таблиц по символьному имени?


 
Val ©   (2002-11-14 13:51) [1]

думаю, наоборот, время запроса может увеличится при обращении к 10 таблицам, вместо одной.
Используете ли индексы?
Возможно, есть огрехи в структуре бд, приведите пожалуйста структуру таблицы и расскажите общий смысл работы с ней.


 
Prooksius ©   (2002-11-14 13:59) [2]

Сколько у тебя записей в этой таблице?
Быстродействие увеличится, если юзер не будет тянуть на себя все содержимое таблиц и работать с немерянным кол-вом записей. Все равно со всеми записями он не поработает. Выбирай по какому-то критерию, чтобы меньше было.
А селект - по-моему надо union использовать. Но вот тут насчет быстродействия проблемы, ИМХО.
Я бы не бил на 10 таблиц. Не логично - таблицы содержат одно и то же - документы, так чего же их должно быть 10.
Не вытягивай все данные на клиента. Ограничивай запросы.


 
KonstVD   (2002-11-14 17:00) [3]

Да нет, смысл в том, что поиск в основном идет по номеру документа, и программа делает select не на 10 таблиц сразу, а на таблицу с именем начала номера документа. Например, если документ 1nnnnnn - то таблица db1, если 6nnnnnn - то select from db6 и т.п. Выборка из всех таблиц сразу по символьному имени - частный и редкий случай. А записей ~300000. И таблица примерно такая:
ID N 9 0 - циферный ID
NAME C 50 - символьный ID
NAME_N С 30 - символьный ID 2
далее десяток символьных полей - "описания" к предыдущим.
Критерий выбора есть, одновременно выбирается не более 100-200 записей. Индексы по первым двум полям.


 
Prooksius ©   (2002-11-14 17:23) [4]

100-200 записей - не должно быть тормозов. Поищи, может тормоза из-за чего-то другого.



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

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

Наверх




Память: 0.47 MB
Время: 0.021 c
8-4517
diablo_al
2002-07-25 20:59
2002.12.02
TV-Tuner нужно добраться к ДУ


1-4349
Whippi
2002-11-22 09:35
2002.12.02
Опять про нажатие клавиш................


1-4353
sers
2002-11-21 17:12
2002.12.02
Удалить все файла по маске на компе.


1-4420
AndrewVolkov
2002-11-22 22:40
2002.12.02
А как нарисовать в rxDBGrid TitleButton?


6-4536
Rule
2002-10-05 22:26
2002.12.02
Очень прошу помочь. В течении пару часов надо сделать!!!!!!!!!