Дані, які ви хочете стиснути, - це дані, що надсилаються по дроті через TDS . Тут є незначне стиснення, але ніде немає типу стиснення, яке ви отримуєте при стисненні сторінки / рядків, резервного стискання або стиснення ColumnStore.
Про це просили раніше:
http://connect.microsoft.com/SQLServer/feedback/details/412131/enable-network-compression-compress-tds-stream
http://connect.microsoft.com/SQLServer/feedback/details/377479/wan-compression-option
Елементи все ще відкриті, тому, можливо, є якась надія. Немає можливості контролювати це за допомогою рядка з'єднання, який я коли-небудь бачив.
Тим часом є деякі продукти, які претендують на це, наприклад
http://www.nitrosphere.com/products/nitroaccelerator/
http://toonel.net/tcpany.htm
Ви також можете потенційно налаштувати мережу між вашим SQL-сервером та серверами додатків для підтримки стиснення (та інших речей, таких як шифрування), але ви виходите за рамки моєї сфери, і я не впевнений, чи підтримували б це всі функції SQL Сервер.
Якщо чесно, я не переконаний, що саме там ви хочете зосередитися на оптимізації. Стиснення цього потоку може насправді уповільнити ситуацію і переважити переваги надсилання меншої кількості байтів. Я вважаю за краще витратити гроші на кращу мережеву підключення між сервером та клієнтом, ніж витрачати час, вкладаючи гроші в цей вид роботи та перевіряючи, чи є у нього якісь фактичні переваги - і не мати змоги це робити до цього часу. Від 10/100 до концертного волокна має відомий і передбачуваний вплив на мережеві введення-виведення.
Я не впевнений у форматі байтів, що надсилаються по дроту; для цього вам доведеться встановити якийсь сніфер для пакетів (а може, хтось це вже зробив і прозвучить).
Що стосується впливу стиснення, якщо ви не знаходитесь на Fusion-IO чи інших високоефективних рішеннях типу SSD, ви майже напевно пов'язані вводу-виводу в даний час, а не пов'язані з процесором. Тож, поки у вас накладні витрати на процесор, ви повинні бачити більш високу продуктивність із увімкненою компресією (але це не змінить продуктивність мережі , оскільки дані не стискаються перед передачею). Я кажу, що нічого не знаючи про ваші сервери, про вашу програму, про ваші дані або про звички використання - ви цілком можете мати крайній випадок, коли стиснення фактично погіршує продуктивність, або де дані просто не є хорошим кандидатом на хороші коефіцієнти стиснення.