Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2002.12.02;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.008 c
1-4434
Пиноккио
2002-11-20 00:25
2002.12.02
Печать с точным позиционированием на матричных принтерах


1-4461
F1
2002-11-20 13:48
2002.12.02
Эксперимент с TreeView


4-4676
Nimbus
2002-10-20 02:49
2002.12.02
Проблема с Control ами


6-4535
Smart
2002-10-04 09:32
2002.12.02
Как удаленно определить имя пользователя?


1-4463
STANT
2002-11-20 11:09
2002.12.02
Как





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский