|
|
|
Построение базы для сайта
|
|||
|---|---|---|---|
|
#18+
Итак. Нужно построить, или взять уже готовую базу для сайта. Используемые технологии asp.net + mssql 2000. Стуктура -- около 50.000 статей, которые могут содержать страницы, т.е. у одной статьи несколько страниц, вообщем то достаточно стандартная вещь на данный момент. Если считать каталогом структурную часть сайта, которая может содержать статьи и другие каталоги ( каталоги - обычное дерево ), то их около 1000. Одна статья( = один айди ) может принадлежать нескольким каталогам. Сейчас используется база от одного движка в прошлом ещё на asp, который потом был переведен на asp.net. База построена так: Таблица статей(articles), таблица страниц статей(pages), таблица их связывания один ко многим (articlepages), таблица каталогов/разделов ( folders), и их связей многие ко многим (foldersarticles). Постраничность вывода статей в разделе сделана выгрузкой всех превьюшек статей в asp.net и там уже выбором, что неправильно ( делал мой предшественник ). Сам использую систему выгрузки ID нужных статей во временную таблицу с новым индексом 1-2-3-4...., и потом перекрестным запросом выбераю только статьи у которых во временной таблице индексы необходимые на данной странице. ( http://www.sql.ru/faq/faq_topic.aspx?fid=105 - тут второй вариант ) Тут же этот приём не прошел - ибо выбор сначала из трех таблиц - поиск по разделу всех статей --- folders(1к), foldersarticles(около 70к), articles(50к), а потом опять он с выбором нужных страниц работает не многим быстрее выгрузки всего в asp.net. Мне кажется что необходимо уйти от таблицы foldersarticles, и помещать информацию о родительских разделах прямо в индексируемое поле таблицы articles, которое будет хоть в текстовом формате содержать информацию о родительских разделах. Хотелось бы услышать критику, предложения или ссылки на материалы где этот вопрос решен/обсужден. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2007, 18:38 |
|
||
|
Построение базы для сайта
|
|||
|---|---|---|---|
|
#18+
А почему бы вам не написать процедуру так, чтобы собирать во временной таблице только идентификаторы, обрезать ее, а затем осуществлять вывод нужной части, уже поджойнив на три таблицы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2007, 19:30 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=34721037&tid=1544355]: |
0ms |
get settings: |
6ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
171ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
26ms |
get tp. blocked users: |
1ms |
| others: | 215ms |
| total: | 442ms |

| 0 / 0 |
