Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Метаданные в MS SQL Server Compact Edition 3.5 SP1  [new]
dr.Offspring
Member

Откуда:
Сообщений: 88
В базе 1200 таблиц, 17535 полей
SELECT Count(*) FROM INFORMATION_SCHEMA.TABLES
Возвращает 1200
Время работы запроса 0,4 сек.

SELECT Count(*) FROM INFORMATION_SCHEMA.COLUMNS
Возвращает 17535
Время работы запроса 25 мин.

Размер базы 40 Мб. Intel Pentium 4 1,7 Гц, 768 Мб ОЗУ, FAT32

Я в шоке!
Можно как-то ускорить работу с метаданными?
30 июл 09, 19:50    [7481538]     Ответить | Цитировать Сообщить модератору
 Re: Метаданные в MS SQL Server Compact Edition 3.5 SP1  [new]
dr.Offspring
Member

Откуда:
Сообщений: 88
Кстати, в MS SQL Server Managment Studio 2008 при подключении к этой базе и после раскрытия дерева таблиц попытаться раскрыть узел "Столбцы" происходит зависание на такое же время. :(
Видимо, студия то же выполняет запрос типа:
SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = '...'

Я в шоке!...
Гуру по компакту откликнитесь. Есть способ ускорить доступ к метаданным?
3 авг 09, 18:07    [7492238]     Ответить | Цитировать Сообщить модератору
 Re: Метаданные в MS SQL Server Compact Edition 3.5 SP1  [new]
Mayh
Guest
dr.Offspring, сервис пак накатили?
3 авг 09, 18:20    [7492295]     Ответить | Цитировать Сообщить модератору
 Re: Метаданные в MS SQL Server Compact Edition 3.5 SP1  [new]
dr.Offspring
Member

Откуда:
Сообщений: 88
Mayh
dr.Offspring, сервис пак накатили?

В заголовке темы написано SP1.
Я уже устанавливал дистриб с интегрированным SP1.
Брал с сайта Microsoft.
А что, уже появился SP2?
4 авг 09, 10:40    [7493995]     Ответить | Цитировать Сообщить модератору
 Re: Метаданные в MS SQL Server Compact Edition 3.5 SP1  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36799
Однозначно, фигня нездоровая.

Однако, что посоветовать я даже не знаю. Попробуйте посмотреть чем оно занимается 20 минут, ожидания, блокировки и т.п. Есть у компаката какие-нибудь средства?

Сообщение было отредактировано: 4 авг 09, 11:33
4 авг 09, 11:32    [7494451]     Ответить | Цитировать Сообщить модератору
 Re: Метаданные в MS SQL Server Compact Edition 3.5 SP1  [new]
dr.Offspring
Member

Откуда:
Сообщений: 88
Гавриленко Сергей Алексеевич
Однозначно, фигня нездоровая.

Однако, что посоветовать я даже не знаю. Попробуйте посмотреть чем оно занимается 20 минут, ожидания, блокировки и т.п. Есть у компаката какие-нибудь средства?


Средство: SQL Server Management Studio 2008 Express SP1. Оно поддерживает CE 3.5 sp1

План выполнения запроса:
SELECT TABLE_NAME, COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = '...'

Показывает 20% сканирование [@@INFORMATION_SCHEMA.COLUMNS] и 80% фильтрациции.
Загрузка процессора - 100% процентов.
Запрос:
select * from sys.lock_information
подвисает на то же время пока выполняется первый запрос.
После выполнения выдает следующее:
request_spid	resource_type	request_mode	resource_table	resource_table_id	request_status
1	            MD		Sch-s	          NULL	          1939	                     GRANT
1	            MD		Sch-s	          NULL	          1027	                     GRANT
Причем, повторное выполнение запроса метаданных через то же соединение отрабатывает практически мгновенно да же с разными фильтрами на TABLE_NAME. Видимо кеширует...
Но стоит сбросить подключение и подключиться заново - опять тормоза при первом запросе мин. на 10.
Шляпа какая-то... :(
INFORMATION_SCHEMA.COLUMNS - это вьювер. индексация, как в нормальном SQL, тут не поддерживается... :(
Ну кто так вьюверы пишет!
Проверял так же на базе с малым числом таблиц. Работает намного быстро. Видимо, скорость выполнения запроса на прямую зависит от количества метаданных в базе.
4 авг 09, 12:38    [7495072]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить