powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Как хранить атрибуты?
87 сообщений из 87, показаны все 4 страниц
Как хранить атрибуты?
    #37773810
Фотография Cheerful Calf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть два варианта (в спойлере). Какой лучше и почему ?:)
(Количество записей <<10000)

варианты
Код: sql
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.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
/*===========================================================
* First variant
* 
*==========================================================*/
CREATE TABLE #Strings (
	ID INT,
	String NVARCHAR(32),
	Numbers NVARCHAR(32)
)

INSERT INTO #Strings VALUES (1, 'String1', '1, 2, 4')
INSERT INTO #Strings VALUES (2, 'String2', '4')
INSERT INTO #Strings VALUES (3, 'String3', '1, 3, 0')
INSERT INTO #Strings VALUES (4, 'String4', '4, 0')

SELECT String FROM #Strings WHERE Numbers LIKE N'%'+'4'+N'%'

DROP TABLE #Strings
GO

/*===========================================================
* Second variant
* 
*==========================================================*/
CREATE TABLE #Strings (
	ID INT,
	String NVARCHAR(32),
)

CREATE TABLE #Numbers (
	ID INT,
	Number NVARCHAR(32),
)

CREATE TABLE #StringsNumbers (
	ID INT,
	StringID INT,
	NumberID INT
)

INSERT INTO #Strings VALUES (1, 'String1')
INSERT INTO #Strings VALUES (2, 'String2')
INSERT INTO #Strings VALUES (3, 'String3')
INSERT INTO #Strings VALUES (4, 'String4')
INSERT INTO #Numbers VALUES (0, '0')
INSERT INTO #Numbers VALUES (1, '1')
INSERT INTO #Numbers VALUES (2, '2')
INSERT INTO #Numbers VALUES (3, '3')
INSERT INTO #Numbers VALUES (4, '4')
INSERT INTO #StringsNumbers VALUES (1, 1, 1)
INSERT INTO #StringsNumbers VALUES (2, 1, 2)
INSERT INTO #StringsNumbers VALUES (3, 1, 4)
INSERT INTO #StringsNumbers VALUES (4, 2, 4)
INSERT INTO #StringsNumbers VALUES (5, 3, 1)
INSERT INTO #StringsNumbers VALUES (6, 3, 3)
INSERT INTO #StringsNumbers VALUES (7, 3, 0)
INSERT INTO #StringsNumbers VALUES (8, 4, 4)
INSERT INTO #StringsNumbers VALUES (9, 4, 0)

SELECT #Strings.String
FROM   #StringsNumbers
       INNER JOIN #Numbers
            ON  #StringsNumbers.NumberID = #Numbers.ID
       INNER JOIN #Strings
            ON  #Strings.ID = #StringsNumbers.StringID
WHERE  #Numbers.Number = '4'
GROUP BY
       #Strings.String

DROP TABLE #Strings
DROP TABLE #Numbers
DROP TABLE #StringsNumbers
GO

...
Рейтинг: 0 / 0
Как хранить атрибуты?
    #37773823
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2-ой лучше. Первый -- нарушение 1НФ, ты не сможешь такие данные обрабатывать.
...
Рейтинг: 0 / 0
Как хранить атрибуты?
    #37773844
Фотография Cheerful Calf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А как тот факт, что
* домбазист будет потом "очень доволен" >х3 непонятным таблицам
* написание более сложных запросов (и вероятнее всего более тяжёлых)
* и, наверное, еще чего-то есть...

Не вижу никакой сложности в обработке и сохранении целостности (само собой при использовании ORM).
...
Рейтинг: 0 / 0
Как хранить атрибуты?
    #37773987
Фотография S.G.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
однозначно второй.
нормальные формы придумали не от нечего делать, а потому что так лучше.
...
Рейтинг: 0 / 0
Как хранить атрибуты?
    #37774011
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> однозначно второй.
> нормальные формы придумали не от нечего делать, а потому что так лучше.

Не потому, что так лучше, а потому что без них невозможно.
По-другому никак.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как хранить атрибуты?
    #37774016
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cheerful Calf* домбазист будет потом "очень доволен" >х3 непонятным таблицам
* написание более сложных запросов (и вероятнее всего более тяжёлых)


Я не понял ни в чём сложность 3х таблиц, ни при чём тут целостность.

Про сложные запросы -- напиши на 1-ый вариант структуры
запрос на получение всех записей (String у тебя), в которых нет
заданного значения в значениях (например, 3) -- и ты всё увидешь
сам.
...
Рейтинг: 0 / 0
Как хранить атрибуты?
    #37774053
Фотография Cheerful Calf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivПро сложные запросы -- напиши на 1-ый вариант структуры
запрос на получение всех записей (String у тебя), в которых нет
заданного значения в значениях (например, 3) -- и ты всё увидешь
сам.Не понял?
Код: sql
1.
SELECT String FROM #Strings WHERE Numbers NOT LIKE N'%'+'3'+N'%'
...
Рейтинг: 0 / 0
Как хранить атрибуты?
    #37774111
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 04/27/2012 02:09 PM, Cheerful Calf wrote:

> Не понял?
>
> SELECT StringFROM #StringsWHERE NumbersNOT LIKE N'%'+'3'+N'%'

Вот именно, что не понял.
А теперь замени в этой строке число 3 на число 33, и повтори.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как хранить атрибуты?
    #37774129
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivА теперь замени в этой строке число 3 на число 33, и повтори.

А заодно подумай над планом исполнения, использованием индексов и прочими вещами, которыми
реальные базы отличаются от игрушечных.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как хранить атрибуты?
    #37774982
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 04/27/2012 02:39 PM, Dimitry Sibiryakov wrote:

> MasterZiv
> А теперь замени в этой строке число 3 на число 33, и повтори.
>
>
> А заодно подумай над планом исполнения, использованием индексов и прочими
> вещами, которыми
> реальные базы отличаются от игрушечных.

Да, подумай, подумай !
Обязательно подумай !

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как хранить атрибуты?
    #37775141
Фотография S.G.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv2-ой лучше . ...
S.G. однозначно второй.
нормальные формы придумали не от нечего делать, а потому что так лучше .
MasterZivSG> однозначно второй.
SG> нормальные формы придумали не от нечего делать, а потому что так лучше.

Не потому, что так лучше , а потому что без них невозможно.
По-другому никак.


:)
...
Рейтинг: 0 / 0
Как хранить атрибуты?
    #37775169
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

да фигня все твои индексы и т.д.
для детских задач катят
...
Рейтинг: 0 / 0
Как хранить атрибуты?
    #37775553
Vladimir Baskakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
5.
CREATE TABLE #StringsNumbers (
	ID INT,
	String NVARCHAR(32),
              Number NVARCHAR(32)
)


не? ID INT - нафиг не сдался.... по моему, ну дак ведь и не дорого....
...
Рейтинг: 0 / 0
Как хранить атрибуты?
    #37775602
sphinx_mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosDimitry Sibiryakov,

да фигня все твои индексы и т.д.
для детских задач катят
Вам не кажется, что мнение недалеких мышеводов, нечего не понимающих в базах данных, при проектировании баз данных никого не интересует?
...
Рейтинг: 0 / 0
Как хранить атрибуты?
    #37775620
Фотография Cheerful Calf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivOn 04/27/2012 02:39 PM, Dimitry Sibiryakov wrote:

> MasterZiv
> А теперь замени в этой строке число 3 на число 33, и повтори.
>
>
> А заодно подумай над планом исполнения, использованием индексов и прочими
> вещами, которыми
> реальные базы отличаются от игрушечных.

Да, подумай, подумай !
Обязательно подумай !Как насчет арея из праймерикейсов?
Стринг: Стринг1
Нумберз: [1][3][33]

упомянутая проблема решена? это мелочи реализации, я спрашиваю про подход.
...
Рейтинг: 0 / 0
Как хранить атрибуты?
    #37775628
Фотография Cheerful Calf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivпланом исполнения, использованием индексов и прочимиЯ в первом топике указал количество записей, на данный момент это около 700 (предельный рост до 1000)
какие "план исполнения, использование индексов" и прочее? тут даже профайлер врят ли разницу заметит между постраничным сканом и индексом.
...
Рейтинг: 0 / 0
Как хранить атрибуты?
    #37775649
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> упомянутая проблема решена? это мелочи реализации, я спрашиваю про подход.

нет. Подход любого проектирования реляционной БД дожен строится прежде
всего на нормльных формах. Это не какие-то там заумные идеи, это просто
требование выживания. Без них тебе реляционная СУБД будет бесполезна.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как хранить атрибуты?
    #37775651
Bogdanov Andrey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cheerful CalfЯ в первом топике указал количество записей, на данный момент это около 700 (предельный рост до 1000)
какие "план исполнения, использование индексов" и прочее? тут даже профайлер врят ли разницу заметит между постраничным сканом и индексом.А зачем вообще в таком случае СУБД? Тем более реляционная?
...
Рейтинг: 0 / 0
Как хранить атрибуты?
    #37775652
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 04/28/2012 12:27 PM, Cheerful Calf wrote:

> MasterZiv
> планом исполнения, использованием индексов и прочими
>

Эт не я писал. Эт маэстро Dimitry Sibiryakov.

> Я в первом топике указал количество записей, на данный момент это около 700
> (предельный рост до 1000)
> какие "план исполнения, использование индексов" и прочее? тут даже профайлер
> врят ли разницу заметит между постраничным сканом и индексом.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как хранить атрибуты?
    #37775655
miwaonline
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sphinx_mvViPRosDimitry Sibiryakov,

да фигня все твои индексы и т.д.
для детских задач катят
Вам не кажется, что мнение недалеких мышеводов, нечего не понимающих в базах данных, при проектировании баз данных никого не интересует?
Вам не кажеться, что следует отличать иронию специалистов от мнения недалеких мышеводов?
...
Рейтинг: 0 / 0
Как хранить атрибуты?
    #37775660
Фотография Cheerful Calf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv, Bogdanov Andrey,

в соседнем топике отписал, это имеено то, что я там указал - поле для поиска (по атрибутам).
субд - она остаётся субд со всеми нф.
...
Рейтинг: 0 / 0
Как хранить атрибуты?
    #37775690
Bogdanov Andrey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cheerful Calfв соседнем топике отписал, это имеено то, что я там указал - поле для поиска (по атрибутам).
субд - она остаётся субд со всеми нф.
Вы на вопрос "зачем вы используете РСУБД" способны ответить? Какими именно преимуществами РУСБД вы пользуетесь? Целостность вам не нужна, скорость поиска тоже.
...
Рейтинг: 0 / 0
Как хранить атрибуты?
    #37775697
Фотография Cheerful Calf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bogdanov AndreyCheerful Calfв соседнем топике отписал, это имеено то, что я там указал - поле для поиска (по атрибутам).
субд - она остаётся субд со всеми нф.
Вы на вопрос "зачем вы используете РСУБД" способны ответить? Какими именно преимуществами РУСБД вы пользуетесь? Целостность вам не нужна, скорость поиска тоже.Вы тут сами с собой? Смотрю вопрос, ответ сразу пишите...
...
Рейтинг: 0 / 0
Как хранить атрибуты?
    #37775712
Bogdanov Andrey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cheerful CalfВы тут сами с собой?Понятно. То есть ответить на вопрос не можете. Спасибо за "содержательную" беседу.
...
Рейтинг: 0 / 0
Как хранить атрибуты?
    #37776047
Vladimir Baskakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Первый вариант хуже, потому что поле неатомарно. Потому, что архитектура плохо масштабируется. потому, что ассиметрия...
Второй вариант хуже - лазить в лишнюю таблицу. оба варианта, в старт-посте представленные, по моему - хуже.

Моего варианта, где и поля атомарны=>SQL - "чистый" пригодный для автогенерации, и таблиц лишних нет. Симметрия полная - хочешь с одной стороны к другой, а хочешь - наоборот...
...
Рейтинг: 0 / 0
Как хранить атрибуты?
    #37776463
sphinx_mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miwaonlinesphinx_mvпропущено...

Вам не кажется, что мнение недалеких мышеводов, нечего не понимающих в базах данных, при проектировании баз данных никого не интересует?
Вам не кажеться, что следует отличать иронию специалистов от мнения недалеких мышеводов?
Специалистом Вы считаете некоего "мышевода", для которого связи "мастер-деталь" между таблицами (в простонародье - "один-много") - новость?
Ну-ну... Пусть этот "специалист" по-иронизирует над тем как "хорошо" живется в базах данных без индексов даже при весьма тривиальных запросах к данным и очень несерьезных объемах последних... А тут уже с самого начала попадаем на запросы с парой-тройкой десятков соединений.
...
Рейтинг: 0 / 0
Как хранить атрибуты?
    #37776487
miwaonline
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sphinx_mv,

Пересмотрел топик; вы обращались к автору этого сообщения, насколько я понял? Тогда прошу проигнорировать мою реплику; я запутался в цитированиях и вкладках.
...
Рейтинг: 0 / 0
Как хранить атрибуты?
    #37776494
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sphinx_mvmiwaonlineпропущено...

Вам не кажеться, что следует отличать иронию специалистов от мнения недалеких мышеводов?
Специалистом Вы считаете некоего "мышевода", для которого связи "мастер-деталь" между таблицами (в простонародье - "один-много") - новость?
Ну-ну... Пусть этот "специалист" по-иронизирует над тем как "хорошо" живется в базах данных без индексов даже при весьма тривиальных запросах к данным и очень несерьезных объемах последних... А тут уже с самого начала попадаем на запросы с парой-тройкой десятков соединений.
"специалист" ты наш крутой, при нормальных объемах данных ни один индекс не спасает к товему сведению, а "мастер - деталь" - детский сленг
...
Рейтинг: 0 / 0
Как хранить атрибуты?
    #37776496
sphinx_mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRossphinx_mvпропущено...

Специалистом Вы считаете некоего "мышевода", для которого связи "мастер-деталь" между таблицами (в простонародье - "один-много") - новость?
Ну-ну... Пусть этот "специалист" по-иронизирует над тем как "хорошо" живется в базах данных без индексов даже при весьма тривиальных запросах к данным и очень несерьезных объемах последних... А тут уже с самого начала попадаем на запросы с парой-тройкой десятков соединений.
"специалист" ты наш крутой, при нормальных объемах данных ни один индекс не спасает к товему сведению, а "мастер - деталь" - детский сленг
Я Вам уже указывал, что в базах данных Вы профан. Только что Вы это еще раз подтвердили.
...
Рейтинг: 0 / 0
Как хранить атрибуты?
    #37776499
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sphinx_mvViPRosпропущено...

"специалист" ты наш крутой, при нормальных объемах данных ни один индекс не спасает к товему сведению, а "мастер - деталь" - детский сленг
Я Вам уже указывал, что в базах данных Вы профан. Только что Вы это еще раз подтвердили.
ну, думай как хошь, повзрослеешь и наткнешься на убогость своих субд
а может и не наткнешься
...
Рейтинг: 0 / 0
Как хранить атрибуты?
    #37776522
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> "специалист" ты наш крутой, при нормальных объемах данных ни один индекс не
> спасает к товему сведению, а "мастер - деталь" - детский сленг

Смелое заявление!

Я тогда прошу озвучить объём данных, где у тебя перестаёт "спасать" индекс.
Я тебе скажу мой вариант БД, где индекс таки "спасает".
Я почему-то уверен, что мой объём данных гораздо больше твоего.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как хранить атрибуты?
    #37776536
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv
> "специалист" ты наш крутой, при нормальных объемах данных ни один индекс не
> спасает к товему сведению, а "мастер - деталь" - детский сленг

Смелое заявление!

Я тогда прошу озвучить объём данных, где у тебя перестаёт "спасать" индекс.
Я тебе скажу мой вариант БД, где индекс таки "спасает".
Я почему-то уверен, что мой объём данных гораздо больше твоего.

при оптимизации (да даже при построении) расписание работ промышленного предприятия
и объемов то не так много - 50 000 000 записей
...
Рейтинг: 0 / 0
Как хранить атрибуты?
    #37776752
sphinx_mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosMasterZiv> "специалист" ты наш крутой, при нормальных объемах данных ни один индекс не
> спасает к товему сведению, а "мастер - деталь" - детский сленг

Смелое заявление!

Я тогда прошу озвучить объём данных, где у тебя перестаёт "спасать" индекс.
Я тебе скажу мой вариант БД, где индекс таки "спасает".
Я почему-то уверен, что мой объём данных гораздо больше твоего.

при оптимизации (да даже при построении) расписание работ промышленного предприятия
и объемов то не так много - 50 000 000 записей
На каком же факультете Хогвардса готовят специалистов по обработке таких объемов данных без использования индексов?
...
Рейтинг: 0 / 0
Как хранить атрибуты?
    #37776757
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sphinx_mv,

Прикладная математика
...
Рейтинг: 0 / 0
Как хранить атрибуты?
    #37776781
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> На каком же факультете Хогвардса готовят специалистов по обработке таких объемов
> данных без использования индексов?

Почему без индексов ? Речь шла про то, что при каких=то объёмах индексы не
помогают. Т.е. их всё-таки пытаются использовать.

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как хранить атрибуты?
    #37776784
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv
> На каком же факультете Хогвардса готовят специалистов по обработке таких объемов
> данных без использования индексов?

Почему без индексов ? Речь шла про то, что при каких=то объёмах индексы не
помогают. Т.е. их всё-таки пытаются использовать.


да не знаю че этот сфинкс взъелся, я вроде его не опускал нигде :)
при очень интенсивной работе с данными СУБД перестает помогать из-за слабости интеллекта
1. Стаистика убогая гуляет
2. Планы не то что бы не оптимальны - даже недопустимы
3. Внутренная кухня начинет работать на себя исключительно занимая все ресурсы железа
так что лучше самому в неординарных случаях выкручиваться
...
Рейтинг: 0 / 0
Как хранить атрибуты?
    #37776806
Фотография S.G.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Даже интересно стало...


ViPRos> "специалист" ты наш крутой, при нормальных объемах данных ни один индекс не
> спасает к товему сведению

при оптимизации (да даже при построении) расписание работ промышленного предприятия
и объемов то не так много - 50 000 000 записейЯ не понял, в промьшленном предприятии 50 миллионов работ, или это количество записей как-то генерируется автоматически?

ViPRosпри очень интенсивной работе с данными СУБД перестает помогать из-за слабости интеллекта
1. Стаистика убогая гуляет
2. Планы не то что бы не оптимальны - даже недопустимы
3. Внутренная кухня начинет работать на себя исключительно занимая все ресурсы железаА объем БД, и железо на котором она крутится, можно? И почему статистика "гуляет", что, за день меняется бОльшая часть этих 50 миллионов? И, например, Вы пробовали обращаться в соответствующий раздел форума (для этой СУБД) по этому вопросу?


ViPRosтак что лучше самому в неординарных случаях выкручиватьсямм, и как?


ps.Если честно, я спрашиваю только из любопытства, мои БД игрушечные (ну там неск. миллионов записей) и индексы там работают без проблем, но если вдруг я переползу в песочницу побольше, чужой опыт может понадобиться ;)

pps.сорри за оффтоп.
...
Рейтинг: 0 / 0
Как хранить атрибуты?
    #37776835
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> да не знаю че этот сфинкс взъелся, я вроде его не опускал нигде :)
> при очень интенсивной работе с данными СУБД перестает помогать из-за слабости
> интеллекта

Клаас! Хорошо сказал. Только я не понял, чей интеллект ты имеешь в виду.
Полагаю, пользователя СУБД?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как хранить атрибуты?
    #37776872
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv,

язвить не вредно, полымает настроение
имелось ввиду слабость оптимизатора СУБД
...
Рейтинг: 0 / 0
Как хранить атрибуты?
    #37776876
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
S.G.,

эти 50 лимонов перегенерируются(ну не все 50, тут как повезет, как сработает эвристика отсечения) n раз при решения задачи, что бы найти последний набор 50 лимонов
50 лимонов - годовой портфель среднего заводика
...
Рейтинг: 0 / 0
Как хранить атрибуты?
    #37776879
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
конечно обсуждали с гуру на MSSQL
свелось к тому - а ты заплати и я сделаю :) потом что то все дружно испарились
...
Рейтинг: 0 / 0
Как хранить атрибуты?
    #37776915
sphinx_mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv
> На каком же факультете Хогвардса готовят специалистов по обработке таких объемов
> данных без использования индексов?

Почему без индексов ? Речь шла про то, что при каких=то объёмах индексы не
помогают. Т.е. их всё-таки пытаются использовать.

Если индексы "не помогают", то это эквивалентно тому, что "не работают". И это аналогично тому, что их попросту нет .

Мой опыт работы с индексами на "больших" (и не очень) объемах данных в таблицах говорит, что причинами, по которой индексы перестают помогать - не очень правильные запросы (одни и те же данные могут быть получены разными способами).
Еще можно добавить попытки выгребание на клиента всех 100500 миллионов записей, что есть в таблице (select * from tbl), где потом и выполняется основная обработка. Но жаловаться при этом, что "оно не работает" - это уже не проблема ни индексов, ни самой базы данных, ни даже сервера БД, который "в-легкую" может быть завален "очень инициативным пользователем".
Соответственно, причину, что "индексы не помогают", нужно искать не в базе данных, а где-то в другой части архитектуры приложения.
...
Рейтинг: 0 / 0
Как хранить атрибуты?
    #37776921
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sphinx_mv,

ты хоть один раз пытался записать больше 100 000 записей?
ну честно скажи
...
Рейтинг: 0 / 0
Как хранить атрибуты?
    #37776924
sphinx_mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosMasterZiv,

язвить не вредно, полымает настроение
имелось ввиду слабость оптимизатора СУБД
Это так круто перекладывать собственную слабость знания рабочей платформы на слабость оптимизатора СУБД!..
"Не все в порядке в Королевстве Датском..." (с)
...
Рейтинг: 0 / 0
Как хранить атрибуты?
    #37776928
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sphinx_mv,

когда нить работал с графами?
занимался оптимизационные проблемами?
если нет, то и говорить не о чем
...
Рейтинг: 0 / 0
Как хранить атрибуты?
    #37776929
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а оптимизатор (ну MSSQL например) очень слабый
...
Рейтинг: 0 / 0
Как хранить атрибуты?
    #37776954
sphinx_mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRossphinx_mv,

ты хоть один раз пытался записать больше 100 000 записей?
ну честно скажи
Ну, если Вам так хочется меряться размерами, то у меня в системе простой список контрагентов будет раза в 3-4 больше...

Наверное, следует указать сферу деятельности - телекоммуникации и связь. Объем данных за месяц в одной из таблиц - 20 000 000 записей... Таких таблиц в системе пара десятков... Сказать, что запросы к ним (и с их участием) "летают" - не сказать ничего (данные обрабатываются в онлайн). Полегчало?
...
Рейтинг: 0 / 0
Как хранить атрибуты?
    #37776964
sphinx_mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRossphinx_mv,

когда нить работал с графами?

Каждый день - основная задача решается с их активным применением...
ViPRosзанимался оптимизационные проблемами?

Вы про оптимизацию в БД или про оптимизацию затрат предприятия?
В обоих случаях ответ утвердительный. Правда, с оптимизацией затрат несколько лет назад. И на другой работе.
ViPRosесли нет, то и говорить не о чем
С Вами - не о чем... На элементарных проблемах ноги ломаете...
...
Рейтинг: 0 / 0
Как хранить атрибуты?
    #37776965
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sphinx_mv,

покажи один такой запрос :)
что ж он делает
...
Рейтинг: 0 / 0
Как хранить атрибуты?
    #37776968
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosMasterZiv> На каком же факультете Хогвардса готовят специалистов по обработке таких объемов
> данных без использования индексов?

Почему без индексов ? Речь шла про то, что при каких=то объёмах индексы не
помогают. Т.е. их всё-таки пытаются использовать.


да не знаю че этот сфинкс взъелся, я вроде его не опускал нигде :)
при очень интенсивной работе с данными СУБД перестает помогать из-за слабости интеллекта
1. Стаистика убогая гуляет
2. Планы не то что бы не оптимальны - даже недопустимы
3. Внутренная кухня начинет работать на себя исключительно занимая все ресурсы железа
так что лучше самому в неординарных случаях выкручиваться
Лучше использовать СУБД, все-таки. Здесь опять возникла двусмысленность какая-то из-за того, что опять забыли простой факт: реляционные СУБД - принципиально не являются СУБД:) Именно поэтому приходиться выкручиваться. В подавляющем большинстве случаев выкручивание заключается в использовании EAV вместо РМД. Различные разновидности EAV использовались во всех (!) проектах на реляционных СУБД, БД которых мне пришлось посмотреть в последние пять лет:)
Разумеется, первый вариант лучше, просто по условиям задачи (по ОДНОМУ свойству у каждой сущности и мизерное число записей).
...
Рейтинг: 0 / 0
Как хранить атрибуты?
    #37776970
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sphinx_mv Объем данных за месяц в одной из таблиц - 20 000 000 записей... Таких таблиц в системе пара десятков... Сказать, что запросы к ним (и с их участием) "летают" - не сказать ничего (данные обрабатываются в онлайн). Полегчало?
а объем даныых за одно итерацию 20 мильенов? не пробовал?
...
Рейтинг: 0 / 0
Как хранить атрибуты?
    #37776974
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
какие задачи "оптимзации затрат предприятия"? назови не стесняйся
...
Рейтинг: 0 / 0
Как хранить атрибуты?
    #37776978
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sphinx_mvС Вами - не о чем... На элементарных проблемах ноги ломаете...
послушай, исходников оптимизатора МССКЛ я не видел
но, все то что написано в БОЛ по оптимизации, всякие долбаные Кайты советы блоггеров применены
при большой интенсивности (запись удаление изменение) субд загибается
в конце концов пришлось облегчить ей жизниь - использовать как хранилище
...
Рейтинг: 0 / 0
Как хранить атрибуты?
    #37776979
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sphinx_mvViPRossphinx_mv,

ты хоть один раз пытался записать больше 100 000 записей?
ну честно скажи
Ну, если Вам так хочется меряться размерами, то у меня в системе простой список контрагентов будет раза в 3-4 больше...

Наверное, следует указать сферу деятельности - телекоммуникации и связь. Объем данных за месяц в одной из таблиц - 20 000 000 записей... Таких таблиц в системе пара десятков... Сказать, что запросы к ним (и с их участием) "летают" - не сказать ничего (данные обрабатываются в онлайн). Полегчало?
Не горячитесь:) Задачи, вероятно, не сопоставимы. В задаче Вашего "оппонента" много сущностей и намного более сложные вычисления... Пустой спор...
...
Рейтинг: 0 / 0
Как хранить атрибуты?
    #37777046
sphinx_mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRossphinx_mv Объем данных за месяц в одной из таблиц - 20 000 000 записей... Таких таблиц в системе пара десятков... Сказать, что запросы к ним (и с их участием) "летают" - не сказать ничего (данные обрабатываются в онлайн). Полегчало?
а объем даныых за одно итерацию 20 мильенов? не пробовал?
Распальцовка...
За "одну итерацию" у меня сколько "мильенов" записей точно не скажу, но в системе под пяток гигабайт "сырых" данных за каждые 5 минут обслуживается с импортом, группировками, тарификацией и прочей "шелухой"...
...
Рейтинг: 0 / 0
Как хранить атрибуты?
    #37777055
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sphinx_mv,

ладно, смотри
количество техпроцесов для одного изделия 100 000
некоторые процессы имеют альтернативы
каждый процесс требует определенный набор процессоров (станок,чек,инструмент и т.д.)
соответствующих наборов может быть много
в зависимости от выбранного ТП генерируются процессы хранения и перемещения
надо построить оптимальное расписание
это ОДНО изделие
посчитай количество записей сам
...
Рейтинг: 0 / 0
Как хранить атрибуты?
    #37777056
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
5 гиг - говно
...
Рейтинг: 0 / 0
Как хранить атрибуты?
    #37777063
sphinx_mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRossphinx_mvС Вами - не о чем... На элементарных проблемах ноги ломаете...
послушай, исходников оптимизатора МССКЛ я не видел
И что с того? Я тоже их не видел. И мне это жить совершенно не мешает.
ViPRosно, все то что написано в БОЛ по оптимизации, всякие долбаные Кайты советы блоггеров применены

Когда не-долбаные спецы мешают в одну кучу рекомендации для разных по архитектуре серверов баз данных - это сильно...
Общие принципы, они, конечно, похожи... Но вот только дьявол кроется в деталях...
ViPRosпри большой интенсивности (запись удаление изменение) субд загибается

Ну, и сколько же транзакций в секунду ее "нагнуло"?
Или это была таки одна на все "100500 мульенов" записей?
Почему я не удивляюсь?
ViPRosв конце концов пришлось облегчить ей жизниь - использовать как хранилище
"Облегчили"... Не разобравшись с проблемой... И виновата в этом, естественно, СУБД... Ага...
...
Рейтинг: 0 / 0
Как хранить атрибуты?
    #37777068
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sphinx_mv,

да пофиг там кайт хендерсон или еще какой му**ло
а не удивляешься ты потому что не охватываешь масштаб
дело не в количество транзакция, а в том что, на одной и той же железке я это делаю на 1000 раз быстрее чем в лоб через скл сервер
...
Рейтинг: 0 / 0
Как хранить атрибуты?
    #37777070
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
при 8000 очередь дисковая 50
...
Рейтинг: 0 / 0
Как хранить атрибуты?
    #37777071
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
на ноуте
...
Рейтинг: 0 / 0
Как хранить атрибуты?
    #37777090
sphinx_mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRossphinx_mv,

ладно, смотри
количество техпроцесов для одного изделия 100 000
некоторые процессы имеют альтернативы
каждый процесс требует определенный набор процессоров (станок,чек,инструмент и т.д.)
соответствующих наборов может быть много
в зависимости от выбранного ТП генерируются процессы хранения и перемещения
надо построить оптимальное расписание
это ОДНО изделие

Аж на ностальгию пробило!..
Правда, техпроцессов там было по-меньше... Да и объемы производства (в штуках) были не сильно впечатляющи...
Но сама ЗАДАЧА и, соответственно, ее СЛОЖНОСТЬ мне вполне знакомы...
ViPRosпосчитай количество записей сам
Измерять сложность задачи количеством записей - не "по-пацански"...
...
Рейтинг: 0 / 0
Как хранить атрибуты?
    #37777108
sphinx_mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosда пофиг там кайт хендерсон или еще какой му**ло
а не удивляешься ты потому что не охватываешь масштаб
Нет у Вас никакого масштаба...
И рядом с Кайтом и Хендерсоном Вас даже мимо не проходило!..
ViPRosдело не в количество транзакция, а в том что, на одной и той же железке я это делаю на 1000 раз быстрее чем в лоб через скл сервер

Количество транзакций в секунду - один из основных показателей производительности серверов баз данных.
В совокупности с остальными показателями сервера дает более/менее объективные представления о реальной производительности сервера.
Про "одну и ту же железку" - такой бред даже комментировать не хочется...
ViPRosпри 8000 очередь дисковая 50
Любой студент, глянув на показатель дисковой очереди и посмотрев на рекомендуемые максимальные значения для этого параметра, понял бы, что данная дисковая подсистема НЕ ГОДИТСЯ под сервер с такой нагрузкой...
ViPRosна ноуте
Вот, собственно, Вы и озвучили МАСШТАБ Ваших задач... Ноутбук под сервер БД - это надо где-то отметить...
...
Рейтинг: 0 / 0
Как хранить атрибуты?
    #37777124
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sphinx_mv,

ты не пробиваем
спи дальше
...
Рейтинг: 0 / 0
Как хранить атрибуты?
    #37777134
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
блин
это просто означает что данный СУБД говно, потому что решение в обход СУБД никакие диски так не нагружает на том же ноуте
это тебе понятно?
...
Рейтинг: 0 / 0
Как хранить атрибуты?
    #37777218
sphinx_mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosблин
это просто означает что данный СУБД говно, потому что решение в обход СУБД никакие диски так не нагружает на том же ноуте
это тебе понятно?
У говняного специалиста и СУБД говно...
...
Рейтинг: 0 / 0
Как хранить атрибуты?
    #37777223
Фотография S.G.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosS.G.,

эти 50 лимонов перегенерируются(ну не все 50, тут как повезет, как сработает эвристика отсечения) n раз при решения задачи, что бы найти последний набор 50 лимонов
50 лимонов - годовой портфель среднего заводикагенерируются, эвристика. мда, мне почему-то так и казалось.
СУБД, они как бы не очень подходят для комбинаторных задач, или если решать такие задачи с помощью СУБД, то там надо смотреть и настраивать очень внимательно. Генерируется куча данных, статистика естественно отстает, ее надо подкрутить. Или вообще брать специализированньй инструмент для этого.
Так что дело не в индексах, а в их приготовлении, имхо.
...
Рейтинг: 0 / 0
Как хранить атрибуты?
    #37777242
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> язвить не вредно, полымает настроение
> имелось ввиду слабость оптимизатора СУБД

А, я думал наоборот.
Наоборот было бы прикольнее. Потому что на самом деле
ближе к истине.

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как хранить атрибуты?
    #37777246
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 04/29/2012 09:13 PM, sphinx_mv wrote:

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


Именно это я и хотел подчеркнуть.
Конда индексы в принципе могут "помочь", они работают, и очень хорошо,
и на любых объёмах данных. Причём чем больше объём, тем сильнее эффект
использования индексов.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как хранить атрибуты?
    #37777250
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> а оптимизатор (ну MSSQL например) очень слабый

Оптимизаторы пытаются решить очень сложную NP-полную
задачу за сотни милисекунд, сложно их в чём-то обвинять.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как хранить атрибуты?
    #37777305
zzzDDD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ViPRossphinx_mvС Вами - не о чем... На элементарных проблемах ноги ломаете...
послушай, исходников оптимизатора МССКЛ я не видел
но, все то что написано в БОЛ по оптимизации, всякие долбаные Кайты советы блоггеров применены
при большой интенсивности (запись удаление изменение) субд загибается
в конце концов пришлось облегчить ей жизниь - использовать как хранилищеЭто вечный аргумент криворуких проектировщиков БД. Давайте перенесем побольше логики в мидл-таер и будет нам счастье... Плавали.
Хотя задачи на графах конечно же - задача совсем не РСУБДшная.

Это что же производство такое что "количество техпроцесов для одного изделия 100 000"??? Если не секрет, конечно.
...
Рейтинг: 0 / 0
Как хранить атрибуты?
    #37777306
sphinx_mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivOn 04/29/2012 09:13 PM, sphinx_mv wrote:
....
> Соответственно, причину, что "индексы не помогают", нужно искать не в базе
> данных, а где-то в другой части архитектуры приложения.

Именно это я и хотел подчеркнуть.
Конда индексы в принципе могут "помочь", они работают, и очень хорошо,
и на любых объёмах данных. Причём чем больше объём, тем сильнее эффект
использования индексов.

Самые "запущенные" случаи, связанные с медленной обработкой данных (в частности, для отчетов), мне встречались, когда открывались курсоры по таблицам, в цикле по которым с вложенными циклами по под-курсорами выполнялись расчеты результатов (извилины заплетало конкретно)... Естественно, все это с дикими тормозами, с никакими возможностями по оптимизации и всеми прочими "прелестями" - доходило, до того что "разработчики" путались в своем коде... После замены курсоров и циклов для расчетов на запросы с непосредственным получением результата время обработки катастрофически сокращалось на несколько десятичных порядков... При этом иногда даже оказывалось, что для таблиц с исходными данными уже давно были созданы все необходимые индексы - соответственно, тюнить их не было никакой необходимости.
...
Рейтинг: 0 / 0
Как хранить атрибуты?
    #37777344
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Хотя задачи на графах конечно же - задача совсем не РСУБДшная.

Реализовать алгоритмы в СУБД -- да, не совсем РСУБД-шная задача.
Хранить графы в РБД и выдавать данные по ним -- вполне РСУБДшная.

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как хранить атрибуты?
    #37777346
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Самые "запущенные" случаи, связанные с медленной обработкой данных (в частности,
> для отчетов), мне встречались, когда открывались курсоры по таблицам, в цикле по
> которым с вложенными циклами по под-курсорами выполнялись расчеты результатов
> (извилины заплетало конкретно)... Естественно, все это с дикими тормозами, с

Ну это ты приводишь случай клинического идиотизма.
Это не интересно, потому что с этим всё понятно.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как хранить атрибуты?
    #37777369
Enomay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Аттрибуты хранить в XML
...
Рейтинг: 0 / 0
Как хранить атрибуты?
    #37777388
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv
> Самые "запущенные" случаи, связанные с медленной обработкой данных (в частности,
> для отчетов), мне встречались, когда открывались курсоры по таблицам, в цикле по
> которым с вложенными циклами по под-курсорами выполнялись расчеты результатов
> (извилины заплетало конкретно)... Естественно, все это с дикими тормозами, с

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


блин, вместо того, что бы сказать - "мы не занимались такими задачами", вы начали троллить
кроме ругани, нифига умного не сказали :(
"100 миллисекунд мало для оптимизации" - ну тады и нефиг валить на других, если оптимизации нет
...
Рейтинг: 0 / 0
Как хранить атрибуты?
    #37777393
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
S.G.ViPRosS.G.,

эти 50 лимонов перегенерируются(ну не все 50, тут как повезет, как сработает эвристика отсечения) n раз при решения задачи, что бы найти последний набор 50 лимонов
50 лимонов - годовой портфель среднего заводикагенерируются, эвристика. мда, мне почему-то так и казалось.
СУБД, они как бы не очень подходят для комбинаторных задач, или если решать такие задачи с помощью СУБД, то там надо смотреть и настраивать очень внимательно. Генерируется куча данных, статистика естественно отстает, ее надо подкрутить. Или вообще брать специализированньй инструмент для этого.
Так что дело не в индексах, а в их приготовлении, имхо.
да какие еще способы приготовления?
тупые индексы (нельзя даже выражение задать), тупое дискретное обновление статистики, для которой нет разницы в объеме данных, а интересует только процент обновления (подкручивание - учащение обновления статистики приводит к еще большим тормозам, реорганизация индексов, убийство, создание и т.д. валить нафиг ваще)
что бы хоть как то работало приходится ввести разбиения, разработать спец структуры, которые к домену никакого отношения не имеет, т.е. создать такую оптимизированную под СУБД БД, что бы субд могла с ней работать белее менее приемлемо
но с таким разбиениями и сам могу спокойно все сделать, а СУБД как хранилище для нечастых обращений

и почему вы все тут дкмаете что кроме вас никто не читает доки, применяет чужой опыт и экспериментирует
что вы за такие гуру блин?
...
Рейтинг: 0 / 0
Как хранить атрибуты?
    #37777422
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 04/30/2012 02:42 PM, ViPRos wrote:
> что вы за такие гуру блин?

Вот тут ты прав, да :-)
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как хранить атрибуты?
    #37777424
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 04/30/2012 02:42 PM, ViPRos wrote:

> что вы за такие гуру блин?

А всё остальное я не понял.
Если у тебя drop/create index валит базу, ну, что ж ... только
посочувствовать можно, что приходится такую СУБД использовать. Если
статистика не отражает данные (бывает, она не может давать 100% объективную
картину) -- надо писать хинты в запросах и/или планы руками.
Причём это -- _н_о_р_м_а_л_ь_н_о_, по другому не может быть принципиально.
80% запросов СУБД оптимизирует сама, 20% должен делать ты сам, руками.
(Конкретные проценты могут варьироваться).
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как хранить атрибуты?
    #37777428
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivПричём это -- _н_о_р_м_а_л_ь_н_о_, по другому не может быть принципиально.
80% запросов СУБД оптимизирует сама, 20% должен делать ты сам, руками.
(Конкретные проценты могут варьироваться).

это фигня, а не _н_о_р_м_а_л_ь_н_о_
...
Рейтинг: 0 / 0
Как хранить атрибуты?
    #37777440
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivOn 04/30/2012 02:42 PM, ViPRos wrote:
> что вы за такие гуру блин?

Вот тут ты прав, да :-)

гуру, блин

http://www.sql.ru/forum/actualthread.aspx?tid=495300&hl=masterziv
...
Рейтинг: 0 / 0
Как хранить атрибуты?
    #37777482
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 04/30/2012 03:35 PM, ViPRos wrote:
> это фигня, а не _н_о_р_м_а_л_ь_н_о_

Родной, ты возми, напиши сначала свою СУБД, которая будет
оптимизировать 100% запросов, будет идеально хранить статистику
и никогда не ошибаться -- поговорим тогда.
И это не "сперва добейся" никакой, а это просто невозможно
сделать в принципе. Оптимизатор не способен в принципе
искать самый оптимальный план, это было бы долго,
статистика в принципе не может быть 100% точной, это
занимало бы столько же места, сколько и сама таблица.

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как хранить атрибуты?
    #37777484
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> гуру, блин

Да, я такой !
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как хранить атрибуты?
    #37777490
Cheerful CalfЕсть два варианта (в спойлере). Какой лучше и почему ?:)
(Количество записей <<10000)

+
варианты
Код: sql
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.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
/*===========================================================
* First variant
* 
*==========================================================*/
CREATE TABLE #Strings (
	ID INT,
	String NVARCHAR(32),
	Numbers NVARCHAR(32)
)

INSERT INTO #Strings VALUES (1, 'String1', '1, 2, 4')
INSERT INTO #Strings VALUES (2, 'String2', '4')
INSERT INTO #Strings VALUES (3, 'String3', '1, 3, 0')
INSERT INTO #Strings VALUES (4, 'String4', '4, 0')

SELECT String FROM #Strings WHERE Numbers LIKE N'%'+'4'+N'%'

DROP TABLE #Strings
GO

/*===========================================================
* Second variant
* 
*==========================================================*/
CREATE TABLE #Strings (
	ID INT,
	String NVARCHAR(32),
)

CREATE TABLE #Numbers (
	ID INT,
	Number NVARCHAR(32),
)

CREATE TABLE #StringsNumbers (
	ID INT,
	StringID INT,
	NumberID INT
)

INSERT INTO #Strings VALUES (1, 'String1')
INSERT INTO #Strings VALUES (2, 'String2')
INSERT INTO #Strings VALUES (3, 'String3')
INSERT INTO #Strings VALUES (4, 'String4')
INSERT INTO #Numbers VALUES (0, '0')
INSERT INTO #Numbers VALUES (1, '1')
INSERT INTO #Numbers VALUES (2, '2')
INSERT INTO #Numbers VALUES (3, '3')
INSERT INTO #Numbers VALUES (4, '4')
INSERT INTO #StringsNumbers VALUES (1, 1, 1)
INSERT INTO #StringsNumbers VALUES (2, 1, 2)
INSERT INTO #StringsNumbers VALUES (3, 1, 4)
INSERT INTO #StringsNumbers VALUES (4, 2, 4)
INSERT INTO #StringsNumbers VALUES (5, 3, 1)
INSERT INTO #StringsNumbers VALUES (6, 3, 3)
INSERT INTO #StringsNumbers VALUES (7, 3, 0)
INSERT INTO #StringsNumbers VALUES (8, 4, 4)
INSERT INTO #StringsNumbers VALUES (9, 4, 0)

SELECT #Strings.String
FROM   #StringsNumbers
       INNER JOIN #Numbers
            ON  #StringsNumbers.NumberID = #Numbers.ID
       INNER JOIN #Strings
            ON  #Strings.ID = #StringsNumbers.StringID
WHERE  #Numbers.Number = '4'
GROUP BY
       #Strings.String

DROP TABLE #Strings
DROP TABLE #Numbers
DROP TABLE #StringsNumbers
GO


постановка вопроса с предложенными вариантами не очень стыкуется.
1й вариант - больше похож на "свалку отрибутов". там обычно вот какое-то такое гамно и есть. тем более что кол-во записей копеешное
2й вариант - тут отдельные сущности нарисованы. это самостоятельный кейс, который решать нужно как-то вот так. свои таблицы с ID, связочные таблицы.

"атрибутами" обычно называют нечто полупроизвольное. типа реестра виндового: некий ключ и значение-каша понятная только целевому потребителю.

на вопрос "какой лучше" можно только задать встречный: "лучший для чего?"
...
Рейтинг: 0 / 0
Как хранить атрибуты?
    #37777495
sphinx_mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosS.G.пропущено...

Так что дело не в индексах, а в их приготовлении, имхо.
да какие еще способы приготовления?
тупые индексы (нельзя даже выражение задать),

MSSQL поддерживает индексы по вычисляемым полям, поддерживает индексы по представлениям... Какие еще "выражения" Вы бы хотели "задать"?
ViPRos тупое дискретное обновление статистики, для которой нет разницы в объеме данных, а интересует только процент обновления (подкручивание - учащение обновления статистики приводит к еще большим тормозам, реорганизация индексов, убийство, создание и т.д. валить нафиг ваще)

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

А ведь Вы доки-то действительно НЕ ЧИТАЕТЕ ...
...
Рейтинг: 0 / 0
Как хранить атрибуты?
    #37777527
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sphinx_mv,

долго ж читал
обновить статистику стоит в мс по умолчанию
...
Рейтинг: 0 / 0
Как хранить атрибуты?
    #37777529
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да ладно гурю, отдыхайте
...
Рейтинг: 0 / 0
87 сообщений из 87, показаны все 4 страниц
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Как хранить атрибуты?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]