powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Создание поисковой системы
8 сообщений из 8, страница 1 из 1
Создание поисковой системы
    #37029293
Wisky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хотела бы создать некую поисковую систему.
CD_session - поисковые сессии
CD_session_condition- описание вопрос сессии
CD_session_object - подходимость экземпляра к сессии (зависит от количества вопросов и подходимости экземпляра к каждому из вопросов. fitness - доля подходимости от 0.0 до 1.0)
CD_session_condition_object - подходимость экземпляра к определённому вопросу сессии (fitness_condition - доля подходимости от 0.0 до 1.0)



Код: plaintext
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.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
/****** Object:  Table [dbo].[CD_session]    Script Date: 12/22/2010 11:23:03 ******/

CREATE TABLE [dbo].[CD_session](
	[id_session] [int] IDENTITY( 1 , 1 ) NOT NULL,
 CONSTRAINT [PK_CD_session] PRIMARY KEY CLUSTERED 
(
	[id_session] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON, FILLFACTOR =  60 ) ON [PRIMARY]
) ON [PRIMARY]
GO
/****** Object:  Table [dbo].[CD_session_condition]    Script Date: 12/22/2010 11:23:03 ******/
CREATE TABLE [dbo].[CD_session_condition](
	[id_session_condition] [int] IDENTITY( 1 , 1 ) NOT NULL,
	[id_session] [int] NOT NULL,
 CONSTRAINT [PK_CD_session_condition] PRIMARY KEY CLUSTERED 
(
	[id_session_condition] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON, FILLFACTOR =  60 ) ON [PRIMARY]
) ON [PRIMARY]
GO

CREATE TABLE [dbo].[CD_session_object](
	[id_session] [int] NOT NULL,
	[guid_o] [uniqueidentifier] NOT NULL,
	[fitness] [real] NULL,
 CONSTRAINT [PK_CD_session_object] PRIMARY KEY NONCLUSTERED 
(
	[id_session] ASC,
	[guid_o] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON, FILLFACTOR =  60 ) ON [PRIMARY]
) ON [PRIMARY]
GO
CREATE CLUSTERED INDEX [CL_CD_session_object_id_session] ON [dbo].[CD_session_object] 
(
	[id_session] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON, FILLFACTOR =  60 ) ON [PRIMARY]
GO
CREATE NONCLUSTERED INDEX [IX_CD_session_object] ON [dbo].[CD_session_object] 
(
	[id_session] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON, FILLFACTOR =  60 ) ON [PRIMARY]
GO
CREATE NONCLUSTERED INDEX [IX_CD_session_object_fitness] ON [dbo].[CD_session_object] 
(
	[id_session] ASC,
	[fitness] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON, FILLFACTOR =  60 ) ON [PRIMARY]
GO
/****** Object:  Table [dbo].[CD_session_condition_object]    Script Date: 12/22/2010 11:23:03 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[CD_session_condition_object](
	[guid_o] [uniqueidentifier] NOT NULL,
	[id_session_condition] [int] NOT NULL,
	[fitness_condition] [real] NOT NULL,
 CONSTRAINT [PK_CD_session_condition_object] PRIMARY KEY CLUSTERED 
(
	[guid_o] ASC,
	[id_session_condition] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON, FILLFACTOR =  60 ) ON [PRIMARY]
) ON [PRIMARY]
GO
CREATE NONCLUSTERED INDEX [CD_session_condition_object__K2_K1] ON [dbo].[CD_session_condition_object] 
(
	[id_session_condition] ASC,
	[guid_o] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
GO

/****** Object:  ForeignKey [FK_CD_session_CD_dir_object]    Script Date: 12/22/2010 11:23:03 ******/
ALTER TABLE [dbo].[CD_session]  WITH CHECK ADD  CONSTRAINT [FK_CD_session_CD_dir_object] FOREIGN KEY([id_object])
REFERENCES [dbo].[CD_dir_object] ([id_object])
ON DELETE CASCADE
GO
ALTER TABLE [dbo].[CD_session] CHECK CONSTRAINT [FK_CD_session_CD_dir_object]
GO
/****** Object:  ForeignKey [FK_CD_session_condition_CD_session_condition]    Script Date: 12/22/2010 11:23:03 ******/
ALTER TABLE [dbo].[CD_session_condition]  WITH CHECK ADD  CONSTRAINT [FK_CD_session_condition_CD_session_condition] FOREIGN KEY([id_session])
REFERENCES [dbo].[CD_session] ([id_session])
ON DELETE CASCADE
GO
ALTER TABLE [dbo].[CD_session_condition] CHECK CONSTRAINT [FK_CD_session_condition_CD_session_condition]
GO
/****** Object:  ForeignKey [FK_CD_session_condition_object_CD_session_condition]    Script Date: 12/22/2010 11:23:03 ******/
ALTER TABLE [dbo].[CD_session_condition_object]  WITH CHECK ADD  CONSTRAINT [FK_CD_session_condition_object_CD_session_condition] FOREIGN KEY([id_session_condition])
REFERENCES [dbo].[CD_session_condition] ([id_session_condition])
ON DELETE CASCADE
GO
ALTER TABLE [dbo].[CD_session_condition_object] CHECK CONSTRAINT [FK_CD_session_condition_object_CD_session_condition]
GO
/****** Object:  ForeignKey [FK_CD_session_object_CD_session]    Script Date: 12/22/2010 11:23:03 ******/
ALTER TABLE [dbo].[CD_session_object]  WITH CHECK ADD  CONSTRAINT [FK_CD_session_object_CD_session] FOREIGN KEY([id_session])
REFERENCES [dbo].[CD_session] ([id_session])
ON DELETE CASCADE
GO
ALTER TABLE [dbo].[CD_session_object] CHECK CONSTRAINT [FK_CD_session_object_CD_session]
GO

Проблемы:
1) Очень медленно создается сессия (в CD_session_object записывается 5млн. кандидатов)
2) так же долго удаляется закрываемая сессия (приходится асинхронизировать удаление)
3) возникает блокировка создания новой сессии при удалении или создании параллельной
...
Рейтинг: 0 / 0
Создание поисковой системы
    #37036887
Feos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а для чего дважды fitness?
...
Рейтинг: 0 / 0
Создание поисковой системы
    #37036898
Wisky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
степень подходимости экземпляра в сессии зависит от количества вопросов и считается по формуле корень 1/N произведения подходимости на каждый вопрос, где N- количество вопросов.
...
Рейтинг: 0 / 0
Создание поисковой системы
    #37036909
Feos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
То есть у вас при создании пустой сессии без вопроса записывается 5 млн. в таблицу CD_session_object, а потом при каждом вопросе еще и по 5 млн. за каждый вопрос. Зачем столько 0-ых значений если в основном вопросы задаются для отсева?
...
Рейтинг: 0 / 0
Создание поисковой системы
    #37036915
Wisky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Заказчик хочет отфильтровывать порог подходимости в диапазоне от 100% до 0%.
...
Рейтинг: 0 / 0
Создание поисковой системы
    #37036956
Feos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мне кажется, блокировки и длительное сохранение объясняются корректировкой кластерного индекса.
...
Рейтинг: 0 / 0
Создание поисковой системы
    #37036972
Feos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
мне кажется данный блог относится уже к соответствующей СУБД в которой ведется разработка.
...
Рейтинг: 0 / 0
Создание поисковой системы
    #37061795
Wisky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а каким должен быть кластерный индекс чтоб сохранение не тормозило?
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Создание поисковой системы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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