Преобразовать формат пикселей WriteableBitmap в Bgra32 в c # wpf

У меня есть WriteableBitmap, который загружает растровое изображение из файла (в основном bmp). Файлы растровых изображений, которые я использую, имеют разные форматы пикселей, такие как Indexed8, Bgra32 и т. Д. Проблема в том, что мой код работает только с форматом пикселей bgra32. Поэтому мне нужна помощь в преобразовании растровых изображений в формат пикселей Bgra32 в c # wpf. dbo.TargetTable A УСТАНАВЛИВАТЬ TargetColumn = 0 ГДЕ TargetColumn = 1 И 1 = (SELECT COUNT (*) FROM dbo.TargetColumn B ...

Мне нужно оптимизировать следующий запрос обновления на SQL Server 2005/2008:

UPDATE
dbo.TargetTable A
SET
TargetColumn = 0
WHERE
TargetColumn = 1
AND 1 =
(
    SELECT COUNT(*)
    FROM dbo.TargetColumn B
    WHERE
                A.Id1 = B.Id1
                AND A.Id2 = B.Id2
                AND A.Id3 = B.Id3
)

О таблице dbo.TargetTable: в ней около 100 столбцов и 8 не- кластеризованные индексы. Ни один из индексов не состоит из Id1, Id2, Id3 и включает TargetColumn.

Я попытался запустить это обновление для 3 комбинаций индексов (размер таблицы около 200000 записей):

  1. Все индексы отключены
  2. Все 8 индексов включены
  3. Все индексы отключены, кроме специального, предназначенного для ускорения обновления:

создать индекс idx0 на dbo.TargetTable (Id1, Id2, Id3) include (TargetValue)

Я получаю следующее тайминги:

  1. 7 минут
  2. 5 минут
  3. 53 секунды

Но затем я попробовал этот запрос на таблице с размером около 10 миллионов записей, ни один из случаев не смог завершить.В каждом случае SQL-сервер выдавал мне странные ошибки о нехватке памяти в буферном пуле.

Существуют ли другие способы оптимизации этого запроса, кроме использования специального индекса?

5
задан Sergey Soloviev 17 November 2010 в 07:29
поделиться