Я пытаюсь понять, будет ли влияние производительности, если я выложу Table1
, как в Table2
? Что лучше для производительности?SQL Performance с укладкой
Запрос # 1:
SELECT *
FROM TABLE1
WHERE ID = 100
Выход:
ID col1 col2
-------------
100 1 0
200 0 1
300 1 0
400 0 1
Запрос # 2:
SELECT *
FROM TABLE2
WHERE ID = 100
Выход:
ID col data
----------------
100 col1 1
100 col2 0
200 col1 0
200 col2 1
300 col1 1
300 col2 0
400 col1 0
400 col2 1
Также как SQL Server просматривает записи?
Благодаря
Что вы делаете, это вызов [** UNPIVOT **] (https://technet.microsoft.com/en-us/library/ms177410 (v = sql.105) .aspx? F = 255 & mspperror = -2147217396). У каждого есть возможность использования. Таблица 2 будет больше, но с соответствующим индексом будет иметь схожую производительность. –
Если вы только что установили 2 условия (данные 1 или 2), вам не нужно делать UNPIVIOT, потому что вы можете просто присоединиться к ID и данным. –
Это немного странно, что любой другой части вашей системы не волнует, будет ли в наборе результатов несколько строк или несколько столбцов. –