Думаю, я немного опоздал, но вы могли бы сделать это следующим образом:
tr{
height: 10px;
width:100px;
}
table{
width: 100%;
}
table, tr, td {
border: 1px solid black;
}
.container{
display: flex;
}
.tableContainer{
width:80%;
}
.submitContainer{
display: flex;
align-items: center;
justify-content: center;
width:20%;
}
<div class="container">
<div class='tableContainer'>
<table>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
</table>
</div>
<div class='submitContainer'>
<button>CLick me </button>
</div>
</div>
НАБОР быстрее на единственных выполнениях. Можно доказать это достаточно легко. Имеет ли это значение, ваше дело, но я предпочитаю НАБОР, так как я не вижу точку ВЫБОРА, если весь код делает, присвоение. Я предпочитаю сохранять ВЫБОР ограниченным операторами SELECT от таблиц, представлений, и т.д.
Вот демонстрационный сценарий с количеством набора выполнений к 1:
SET NOCOUNT ON
DECLARE @runs int
DECLARE @i int, @j int
SET @runs = 1
SET @i = 0
SET @j = 0
DECLARE @dtStartDate datetime, @dtEndDate datetime
WHILE @runs > 0
BEGIN
SET @j = 0
SET @dtStartDate = CURRENT_TIMESTAMP
WHILE @j < 1000000
BEGIN
SET @i = @j
SET @j = @j + 1
END
SELECT @dtEndDate = CURRENT_TIMESTAMP
SELECT DATEDIFF(millisecond, @dtStartDate, @dtEndDate) AS SET_MILLISECONDS
SET @j = 0
SET @dtStartDate = CURRENT_TIMESTAMP
WHILE @j < 1000000
BEGIN
SELECT @i = @j
SET @j = @j + 1
END
SELECT @dtEndDate = CURRENT_TIMESTAMP
SELECT DATEDIFF(millisecond, @dtStartDate, @dtEndDate) AS SELECT_MILLISECONDS
SET @runs = @runs - 1
END
РЕЗУЛЬТАТЫ:
Выполнение № 1:
SET_MILLISECONDS
5093
SELECT_MILLISECONDS
5186
Выполнение № 2:
SET_MILLISECONDS
4876
SELECT_MILLISECONDS
5466
Выполнение № 3:
SET_MILLISECONDS
4936
SELECT_MILLISECONDS
5453
Выполнение № 4:
SET_MILLISECONDS
4920
SELECT_MILLISECONDS
5250
Выполнение № 5:
SET_MILLISECONDS
4860
SELECT_MILLISECONDS
5093
Странно, если Вы проворачиваете количество, увеличивается для высказывания, 10, НАБОР начинает отставать.
Вот 10-управляемый результат:
SET_MILLISECONDS
5140
SELECT_MILLISECONDS
5266
SET_MILLISECONDS
5250
SELECT_MILLISECONDS
5466
SET_MILLISECONDS
5220
SELECT_MILLISECONDS
5280
SET_MILLISECONDS
5376
SELECT_MILLISECONDS
5280
SET_MILLISECONDS
5233
SELECT_MILLISECONDS
5453
SET_MILLISECONDS
5343
SELECT_MILLISECONDS
5423
SET_MILLISECONDS
5360
SELECT_MILLISECONDS
5156
SET_MILLISECONDS
5686
SELECT_MILLISECONDS
5233
SET_MILLISECONDS
5436
SELECT_MILLISECONDS
5500
SET_MILLISECONDS
5610
SELECT_MILLISECONDS
5266
Смотрите на "план выполнения", он должен сказать Вам стоимость каждой строки Вашего оператора
Я не ускоряюсь, проблема, она имеет отношение к больше с набором функций присвоения. Я столкнулся с этим только что и существует что-то новое в SQL Server 2008... Я слышал, попытайтесь гуглить Набор SQL по сравнению с Избранным SQL-СЕРВЕРОМ 2008