powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Скорость загрузки таблиц...
12 сообщений из 12, страница 1 из 1
Скорость загрузки таблиц...
    #32999199
sergei.knyazev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня сложилась такая ситуация.

Есть две таблицы на MSDE2000. В каждой по 5000 записей.
одна и таже постейшая процедура Fill занимает разное время. Причем одна таблица филится примерно 3 секунды, другая же 1 минуту. Причём по объему данных, как это не парадоксально, больше более скоростная таблица. судите сами.

Медленная:
CREATE TABLE [ArticleFragmentation] (
[ArticleNumber] [int] NOT NULL ,
[Drug_id] [int] NOT NULL ,
[Checked] [int] NULL ,
[EntDate] [smalldatetime] NULL ,
CONSTRAINT [PK_ArticleFragmentation] PRIMARY KEY CLUSTERED
(
[ArticleNumber],
[Drug_id]
) ON [PRIMARY]
) ON [PRIMARY]
GO


Быстрая:
CREATE TABLE [ArticleProperties] (
[ArticleNumber] [int] NOT NULL ,
[PropertyName] [varchar] (50) COLLATE Cyrillic_General_CI_AS NOT NULL ,
[ImageProperty] [image] NULL ,
[IntProperty] [int] NULL ,
[StringProperty] [varchar] (300) COLLATE Cyrillic_General_CI_AS NULL ,
[DecimalProperty] [decimal](18, 0) NULL ,
[DatetimeProperty] [smalldatetime] NULL ,
[PropertyType] [int] NOT NULL ,
[EntDate] [smalldatetime] NOT NULL ,
CONSTRAINT [PK_ArticleProperties] PRIMARY KEY CLUSTERED
(
[ArticleNumber],
[PropertyName]
) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO


Почему так?
...
Рейтинг: 0 / 0
Скорость загрузки таблиц...
    #32999220
sergei.knyazev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
По ходу дела выяснилось, что скорость напрямую зависит от последовательности. те. та таблица, что филится первой делает это значительно медленней второй.
Совсем всё стало хорошо, когда перед ними обоими я поставил фил совсем маленькой таблицы (500 строк). Теперь всё филиться на ура.

Что это было?
...
Рейтинг: 0 / 0
Скорость загрузки таблиц...
    #33001349
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sergei.knyazev
Что это было?

чтобы сказать что это было надо смотреть код.
У меня предположение что первый Fill открывал соединение, а второй использовал уже соединение из пула.

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
Скорость загрузки таблиц...
    #33002465
sergei.knyazev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sa sergei.knyazev
Что это было?

чтобы сказать что это было надо смотреть код.
У меня предположение что первый Fill открывал соединение, а второй использовал уже соединение из пула.

Код: plaintext
 uid  =  S a


Соединение у меня одно на всех. Я его открываю в начале и закрываю в конце.

Что такое пул?
...
Рейтинг: 0 / 0
Скорость загрузки таблиц...
    #33003483
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
надо смотреть код....


Что такое пул?

а это что вы могли бы использовать... см. MSDN connection pool
Специально управлять им как правило не надо, вы просто в нужном месте открываете и закрываете соединение, а не держите постоянно открытое соединение.

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
Скорость загрузки таблиц...
    #33004166
sergei.knyazev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Что мне это даст если у меня MSDE2000 на одном компе и приложение на нём же?
...
Рейтинг: 0 / 0
Скорость загрузки таблиц...
    #33004172
sergei.knyazev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Неподскажите ли вы почему, даже если я, допустим, сам того не зная использвал connection pool и соединение бралось именно из него был такой разрыв в скорости и главное, почему всё изменилось от перемены мест слагаемых?
...
Рейтинг: 0 / 0
Скорость загрузки таблиц...
    #33005990
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Неподскажите ли вы почему, даже если я, допустим, сам того не зная использвал connection pool и соединение бралось именно из него был такой разрыв в скорости и главное, почему всё изменилось от перемены мест слагаемых?


вы пробовали написать тестовое приложение, посмотреть профайлером какие запросы идут к БД, попробовать исполнить свои запросы в не ADO.NET.

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
Скорость загрузки таблиц...
    #33006010
sergei.knyazev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, конечно. Всё летает. Профайлер показыкает что идёт Select к той самой таблице.
...
Рейтинг: 0 / 0
Скорость загрузки таблиц...
    #33006150
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, конечно. Всё летает.

Это к чему относится?
к тестовому приложению?

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
Скорость загрузки таблиц...
    #33006174
sergei.knyazev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да. Я запускал эти две хранимые процедуры через QueryAnalizer в MSSQL2000 (там уж точно не ADO.NET) и через Preview Data дизайнера. Везде филл каждой таблицы занимет не больше трёх секунд, но не как ни минуту как в начале, до перестановки.
...
Рейтинг: 0 / 0
Скорость загрузки таблиц...
    #33006192
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Осталось сделать тестовое приложение (займет не более 3 х минут времени)
и проверить в нем.

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Скорость загрузки таблиц...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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