Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
Как оптимальнее? (serg) 06/07/2003 - 00:41:56
      Re: Как оптимальнее? (Валентин) 09/07/2003 - 13:28:21
      Re: Как оптимальнее? (serg) 09/07/2003 - 15:46:38
      Re: Как оптимальнее? (Валентин) 10/07/2003 - 13:51:49

> Original message text:
> From: serg - 06/07/2003 - 00:41:56
> Subject:Как оптимальнее?
> -----------------
> Как лучше сделать (с точки зрения быстродействия выборки select)
>
> create table a
> (
> a1,
> a2,
> a3);
>
> и писать туда несколько записей для каждого элемента (так необходимо) или
>
>
> create table a
> (
> a11,
> a12,
> a13,
> a21,
> a22,
> a23,
> a31,
> a32,
> a33,
> );
>
>
> ?
>
> В каком случае select/update будет работать быстрее, если таких записей порядка хх.000?
>


From: Валентин - 10/07/2003 - 13:51:49
Subject:Как оптимальнее?
-----------------
Вы не пояснили задачу.
Что значит "есть просто несколько одинаковых объектов (их полей) которые связаны между собой логически. их не больше N" ???
То что кажется в начале N в будующем может сать не статичным числом, тогда нужно будет переделывать и базу и клиента !!!
Объекты с одинаковми свойствами нужно хранить в одной таблице, а свойства в другой. Если возможен множественный выбор свойств, то нужно сделать 3-ю таблицу, в которой по ключевым полям первых 2-х таблиц определять свойства объекта.
Смотрите реляционные базы данных и правила нормализации.
То, что кажется вначале быстрым может в будующем вызвать проблеммы с неправильным проектированием БД.
Скорость выборки с таблицы объектов на таблицу свойств через линковочную таблицу будет достаточно быстро работать.

Возможно не ставить линковочную таблицу в случае, если выбрать можно только конкретное число свойств, но это не совсем корректно. В таком случае можно использовать тип Enum на поля свойств.

Для создания модели и тестирования возможно связать все внешними ключами, а потом для увеличения быстродействия снять их (InnoDB).


[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
9504



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |