{"id":318548,"date":"2021-02-24T15:01:12","date_gmt":"2021-02-24T15:01:12","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=318548"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=318548","title":{"rendered":"\u041d\u0430\u043f\u0438\u043b\u044c\u043d\u0438\u043a \u0438 \u0449\u0435\u043f\u043e\u0442\u043a\u0430 \u0444\u0430\u043d\u0442\u0430\u0437\u0438\u0438\u2026 \u0438\u043b\u0438 \u043a\u0430\u043a \u0441\u043b\u0435\u043f\u0438\u0442\u044c Enterprise \u0438\u0437 SQL Server Express Edition"},"content":{"rendered":"\n<div class=\"post__text post__text-html post__text_v1\" id=\"post-content-body\"><em>\u041f\u0440\u043e\u0441\u043d\u0438\u0441\u044c\u2026 \u0442\u044b \u0432\u0441\u0435\u0433\u0434\u0430 \u043e\u0449\u0443\u0449\u0430\u043b, \u0447\u0442\u043e \u043c\u0438\u0440 \u043d\u0435 \u0432 \u043f\u043e\u0440\u044f\u0434\u043a\u0435. \u0421\u0442\u0440\u0430\u043d\u043d\u0430\u044f \u043c\u044b\u0441\u043b\u044c, \u043d\u043e \u0435\u0435 \u043d\u0435 \u043e\u0442\u043e\u0433\u043d\u0430\u0442\u044c \u2013 \u043e\u043d\u0430 \u043a\u0430\u043a \u0437\u0430\u043d\u043e\u0437\u0430 \u0432 \u043c\u043e\u0437\u0433\u0443. \u0422\u044b \u0432\u0441\u044e \u0436\u0438\u0437\u043d\u044c \u0436\u0438\u0432\u0435\u0448\u044c \u0432 \u0442\u0435\u043c\u043d\u0438\u0446\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0439 \u0438 \u043f\u0440\u0430\u0432\u0438\u043b, \u043d\u0430\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0445 \u0432\u0441\u0435\u0441\u0438\u043b\u044c\u043d\u044b\u043c \u041c\u0430\u0439\u043a\u0440\u043e\u0441\u043e\u0444\u0442\u043e\u043c, \u0438 \u0434\u0430\u0436\u0435 \u043d\u0435 \u043e\u0441\u043e\u0437\u043d\u0430\u0435\u0448\u044c \u044d\u0442\u043e\u0433\u043e.<\/em><\/p>\n<p>  <em>\u041d\u0430\u0436\u043c\u0435\u0448\u044c \u0434\u0438\u0437\u043b\u0430\u0439\u043a \u0438 \u0441\u043a\u0430\u0437\u043a\u0435 \u043a\u043e\u043d\u0435\u0446 \u2013 \u0442\u044b \u0437\u0430\u043a\u0440\u043e\u0435\u0448\u044c \u0432\u043a\u043b\u0430\u0434\u043a\u0443 \u0438 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0448\u044c \u0431\u0435\u0441\u0446\u0435\u043b\u044c\u043d\u043e \u0431\u0440\u043e\u0434\u0438\u0442\u044c \u043f\u043e \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u044f\u043c \u0425\u0430\u0431\u0440\u0430 \u0438 YouTube.<\/em><\/p>\n<p>  <em>\u0417\u0430\u0445\u043e\u0447\u0435\u0448\u044c \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u044c \u0438 \u0432\u043e\u0439\u0434\u0435\u0448\u044c \u0432 \u0441\u0442\u0440\u0430\u043d\u0443 \u0447\u0443\u0434\u0435\u0441 \u2013 \u044f \u043f\u043e\u043a\u0430\u0436\u0443 \u0442\u0435\u0431\u0435 \u043d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0433\u043b\u0443\u0431\u043e\u043a\u0430\u2026 \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u0430\u044f\u2026 \u043a\u0440\u043e\u043b\u0438\u0447\u044c\u044f \u043d\u043e\u0440\u0430 \u0443\u0441\u043f\u0435\u0448\u043d\u043e\u0439 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043d\u0430 SQL Server Express Edition.<\/em><\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/dd\/uo\/1i\/dduo1i_vmmf9-c--_yeiivl4ap4.jpeg\" width=\"600\"><a name=\"habracut\"><\/a><\/p>\n<p>  \u041f\u043e\u0440\u043e\u0439 \u0441 \u043d\u0435\u043a\u043e\u0439 \u0434\u0443\u0448\u0435\u0432\u043d\u043e\u0439 \u0434\u043e\u0431\u0440\u043e\u0442\u043e\u0439 \u044f \u0432\u0441\u043f\u043e\u043c\u0438\u043d\u0430\u044e \u0440\u0430\u043d\u043d\u0438\u0435 \u0433\u043e\u0434\u044b \u0441\u0432\u043e\u0435\u0439 \u043a\u0430\u0440\u044c\u0435\u0440\u044b\u2026 \u043a\u043e\u0433\u0434\u0430 \u0442\u0440\u0430\u0432\u0430 \u0431\u044b\u043b\u0430 \u0437\u0435\u043b\u0435\u043d\u0435\u0435 \u043f\u043e\u0441\u043b\u0435 \u0441\u0432\u0435\u0436\u0435\u0439 \u043f\u043e\u043a\u0440\u0430\u0441\u043a\u0438\u2026 \u043a\u043e\u0433\u0434\u0430 \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u043b\u043e\u0436\u0438\u043b\u043e \u043f\u0435\u0440\u0432\u043e\u043f\u0440\u0438\u0447\u0438\u043d\u0443 \u043d\u0430 \u043c\u043d\u043e\u0433\u0438\u0435 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u043e\u043d\u043d\u044b\u0435 \u0443\u0441\u043b\u043e\u0432\u043d\u043e\u0441\u0442\u0438\u2026 \u043d\u043e \u0432\u0440\u0435\u043c\u044f \u0431\u044b\u0441\u0442\u0440\u043e \u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u0438 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0441\u043e\u0431\u043b\u044e\u0434\u0430\u0442\u044c \u043f\u0440\u0430\u0432\u0438\u043b\u0430 \u0440\u044b\u043d\u043a\u0430, \u0435\u0441\u043b\u0438 \u0445\u043e\u0447\u0435\u0442\u0441\u044f \u0431\u044b\u0442\u044c \u0447\u0430\u0441\u0442\u044c\u044e \u043a\u0440\u0443\u043f\u043d\u043e\u0433\u043e \u0431\u0438\u0437\u043d\u0435\u0441\u0430.<\/p>\n<p>  \u041e\u0431\u0440\u0430\u0442\u043d\u043e\u0439 \u0441\u0442\u043e\u0440\u043e\u043d\u043e\u0439 \u044d\u0442\u043e\u0439 \u043c\u0435\u0434\u0430\u043b\u0438 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442 \u0433\u043e\u0440\u044c\u043a\u043e\u0435 \u043e\u0441\u043e\u0437\u043d\u0430\u043d\u0438\u0435 \u0433\u043b\u0430\u0432\u043d\u043e\u0439 \u0438\u0441\u0442\u0438\u043d\u044b \u043a\u0430\u043f\u0438\u0442\u0430\u043b\u0438\u0437\u043c\u0430 \u2013 \u0432\u0435\u0441\u044c \u0431\u0438\u0437\u043d\u0435\u0441 \u043f\u043e\u0441\u0442\u0435\u043f\u0435\u043d\u043d\u043e \u0432\u044b\u043d\u0443\u0436\u0434\u0430\u044e\u0442 \u043c\u0438\u0433\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432 \u043e\u0431\u043b\u0430\u0447\u043d\u044b\u0435 \u0434\u0430\u0442\u0430-\u0446\u0435\u043d\u0442\u0440\u044b \u043b\u0438\u0431\u043e \u043f\u043b\u0430\u0442\u0438\u0442\u044c \u0437\u0430 \u0434\u043e\u0440\u043e\u0433\u0438\u0435 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0438. \u041d\u043e \u0447\u0442\u043e \u0435\u0441\u043b\u0438 \u0435\u0441\u0442\u044c \u0438\u043d\u043e\u0439 \u043f\u0443\u0442\u044c \u2013 \u043a\u043e\u0433\u0434\u0430 \u043d\u0435 \u043d\u0443\u0436\u043d\u043e \u043f\u043b\u0430\u0442\u0438\u0442\u044c \u0437\u0430 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0438, \u043d\u043e \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0432\u0441\u0435\u043c\u0438 \u0432\u0430\u0436\u043d\u044b\u043c\u0438 \u043f\u043b\u044e\u0448\u043a\u0430\u043c\u0438 \u043a\u043e\u043c\u043c\u0435\u0440\u0447\u0435\u0441\u043a\u0438\u0445 \u0440\u0435\u0434\u0430\u043a\u0446\u0438\u0439 SQL Server.<\/p>\n<p>  \u0418 \u0440\u0435\u0447\u044c \u0441\u0435\u0439\u0447\u0430\u0441 \u0438\u0434\u0435\u0442 \u0434\u0430\u0436\u0435 \u043d\u0435 \u043e Developer Edition, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u041c\u0430\u0439\u043a\u0440\u043e\u0441\u043e\u0444\u0442 \u0435\u0449\u0435 \u0432 2014 \u0433\u043e\u0434\u0443 \u0441\u0434\u0435\u043b\u0430\u043b\u0430 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u043e\u0439, \u0445\u043e\u0442\u044f \u0440\u0430\u043d\u044c\u0448\u0435 \u043e\u0445\u043e\u0442\u043d\u043e \u043e\u0442\u0434\u0430\u0432\u0430\u043b\u0430 \u0432 \u043e\u0434\u043d\u0438 \u0440\u0443\u043a\u0438 \u043f\u043e 59.95$. \u0411\u043e\u043b\u044c\u0448\u0435 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u0430 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u044f \u0437\u0430\u0442\u0440\u0430\u0442 \u0434\u043b\u044f \u043f\u0440\u043e\u0434\u0430\u043a\u0448\u0435\u043d \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432, \u043a\u043e\u0433\u0434\u0430 \u043a\u043b\u0438\u0435\u043d\u0442\u044b, \u0432 \u0443\u0441\u043b\u043e\u0432\u0438\u044f\u0445 \u043a\u0440\u0438\u0437\u0438\u0441\u0430, \u043f\u0440\u043e\u0441\u044f\u0442 \u043f\u043e \u043c\u0430\u043a\u0441\u0438\u043c\u0443\u043c\u0443 \u0441\u043e\u043a\u0440\u0430\u0442\u0438\u0442\u044c \u0438\u0437\u0434\u0435\u0440\u0436\u043a\u0438 \u0438\u0445 \u0431\u0438\u0437\u043d\u0435\u0441\u0430 \u043d\u0430 \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u0435.<\/p>\n<p>  \u0411\u0435\u0437\u0443\u0441\u043b\u043e\u0432\u043d\u043e, \u0443\u0436\u0435 \u0441\u0435\u0439\u0447\u0430\u0441 \u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0431\u0438\u0440\u0430\u0442\u044c \u0447\u0435\u043c\u043e\u0434\u0430\u043d\u044b \u0438 \u043c\u0438\u0433\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043b\u043e\u0433\u0438\u043a\u0443 \u043d\u0430 \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u044b\u0435 \u0430\u043d\u0430\u043b\u043e\u0433\u0438, \u0432\u0440\u043e\u0434\u0435 PostgreSQL \u0438\u043b\u0438 MariaDB. \u041d\u043e \u0441\u0440\u0430\u0437\u0443 \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442 \u0440\u0438\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0432\u043e\u043f\u0440\u043e\u0441 \u2013 \u043a\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u044d\u0442\u043e \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c \u0438 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432 \u0443\u0441\u043b\u043e\u0432\u0438\u044f\u0445, \u043a\u043e\u0433\u0434\u0430 \u0432\u0441\u0435\u043c \u0432\u0441\u0435 \u043d\u0443\u0436\u043d\u043e \u00ab\u043d\u0430 \u0432\u0447\u0435\u0440\u0430\u00bb? \u0418 \u0434\u0430\u0436\u0435 \u0435\u0441\u043b\u0438 \u0432\u043e\u043b\u0435\u0432\u044b\u043c \u0440\u0435\u0448\u0435\u043d\u0438\u0435\u043c \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u0431\u044b\u0441\u0442\u0440\u043e \u043c\u0438\u0433\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0435\u043d\u0442\u0435\u0440\u043f\u0440\u0430\u0439\u0437 \u043f\u0440\u043e\u0435\u043a\u0442, \u0442\u043e \u0431\u043e\u043b\u044c\u0448\u0435 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u044c \u043f\u043e \u0438\u0442\u043e\u0433\u0443 \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u0441\u044b\u0433\u0440\u0430\u0442\u044c \u0432 \u043b\u044e\u0431\u0438\u043c\u044b\u0439 \u0448\u0443\u0442\u0435\u0440 \u041a\u0443\u0440\u0442\u0430 \u041a\u043e\u0431\u0435\u0439\u043d\u0430, \u0447\u0435\u043c \u043e\u0442\u0440\u0435\u043b\u0438\u0437\u0438\u0442\u044c\u0441\u044f. \u041f\u043e\u0442\u043e\u043c\u0443 \u043c\u044b \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u043e\u0434\u0443\u043c\u0430\u0435\u043c, \u043a\u0430\u043a \u0438\u0437 Express Edition \u0432\u044b\u0436\u0430\u0442\u044c \u043c\u0430\u043a\u0441\u0438\u043c\u0443\u043c \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 \u0442\u0435\u043a\u0443\u0449\u0438\u0445 \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0439.<\/p>\n<p>  \u041f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0434\u0438\u0430\u0433\u043d\u043e\u0437 \u0434\u043b\u044f SQL Server Express Edition, \u0432\u044b\u043d\u0435\u0441\u0435\u043d\u043d\u044b\u0439 \u043a\u043e\u043b\u043b\u0435\u0433\u0438\u0435\u0439 \u0432\u0440\u0430\u0447\u0435\u0439: \u043f\u0430\u0446\u0438\u0435\u043d\u0442\u0443 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043d\u0435 \u0431\u043e\u043b\u0435\u0435 4-\u0445 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u044f\u0434\u0435\u0440 \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 \u043e\u0434\u043d\u043e\u0433\u043e \u0441\u043e\u043a\u0435\u0442\u0430, \u0447\u0443\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0435 1\u0413\u0431 \u043f\u0430\u043c\u044f\u0442\u0438 \u0432\u044b\u0434\u0435\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u043e\u0434 Buffer Pool, \u0440\u0430\u0437\u043c\u0435\u0440 \u0444\u0430\u0439\u043b\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u0435\u0432\u044b\u0448\u0430\u0442\u044c 10\u0413\u0431\u2026 \u0441\u043f\u0430\u0441\u0438\u0431\u043e, \u043d\u0430 \u0434\u043e\u0431\u0440\u043e\u043c \u0441\u043b\u043e\u0432\u0435, \u0447\u0442\u043e \u043f\u0430\u0446\u0438\u0435\u043d\u0442 \u0445\u043e\u0442\u044c \u043f\u043e\u0434 \u0441\u0435\u0431\u044f \u043d\u0435 \u0445\u043e\u0434\u0438\u0442, \u0430 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u043e\u0435 \u043a\u0430\u043a-\u0442\u043e \u0432\u044b\u043b\u0435\u0447\u0438\u043c.<\/p>\n<p>  \u041a\u0430\u043a \u043d\u0435 \u043f\u0430\u0440\u0430\u0434\u043e\u043a\u0441\u0430\u043b\u044c\u043d\u043e, \u043d\u043e \u043f\u0435\u0440\u0432\u043e\u0435 \u0441 \u0447\u0435\u0433\u043e \u043d\u0443\u0436\u043d\u043e \u043d\u0430\u0447\u0430\u0442\u044c \u2013 \u044d\u0442\u043e \u0443\u0437\u043d\u0430\u0442\u044c \u0432\u0435\u0440\u0441\u0438\u044e \u043d\u0430\u0448\u0435\u0433\u043e \u0441\u0438\u043a\u0432\u0435\u043b\u0430. \u0418 \u0432\u0441\u0435 \u0434\u0435\u043b\u043e \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u043f\u0440\u0438 \u0430\u043d\u043e\u043d\u0441\u0435 SQL Server 2016 SP1 \u0432 \u0434\u0430\u043b\u0435\u043a\u043e\u043c 2018-\u043e\u043c \u0433\u043e\u0434\u0443, \u041c\u0430\u0439\u043a\u0440\u043e\u0441\u043e\u0444\u0442 \u043f\u0440\u043e\u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043b\u0430 \u0447\u0443\u0434\u0435\u0441\u0430 \u0449\u0435\u0434\u0440\u043e\u0441\u0442\u0438 \u0438 \u0447\u0430\u0441\u0442\u0438\u0447\u043d\u043e \u0443\u0440\u0430\u0432\u043d\u044f\u043b\u0430 \u043f\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u0443 \u0432\u0441\u0435 \u0440\u0435\u0434\u0430\u043a\u0446\u0438\u0438 \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 \u0441\u0432\u043e\u0435\u0439 \u043d\u043e\u0432\u043e\u0439 \u0438\u043d\u0438\u0446\u0438\u0430\u0442\u0438\u0432\u044b \u2013 consistent programmability surface area (CPSA).<\/p>\n<p>  \u0415\u0441\u043b\u0438 \u0440\u0430\u043d\u044c\u0448\u0435 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u043b\u043e\u0441\u044c \u043f\u0438\u0441\u0430\u0442\u044c \u043a\u043e\u0434 \u0441 \u043f\u0440\u0438\u0446\u0435\u043b\u043e\u043c \u043f\u043e\u0434 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u0443\u044e \u0440\u0435\u0434\u0430\u043a\u0446\u0438\u044e, \u0442\u043e \u043f\u0440\u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0438 \u043d\u0430 2016 SP1 (\u0438 \u0431\u043e\u043b\u0435\u0435 \u043f\u043e\u0437\u0434\u043d\u0438\u0435 \u0432\u0435\u0440\u0441\u0438\u0438) \u043c\u043d\u043e\u0433\u0438\u0435 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u043d\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 Enterprise \u0441\u0442\u0430\u043b\u0438 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u0434\u043b\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f, \u0432 \u0442\u043e\u043c \u0447\u0438\u0441\u043b\u0435 \u0438 \u0434\u043b\u044f Express Edition. \u0421\u0440\u0435\u0434\u0438 \u043d\u043e\u0432\u044b\u0445 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0435\u0439 Express Edition \u043c\u043e\u0436\u043d\u043e \u0432\u044b\u0434\u0435\u043b\u0438\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435: \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0441\u0435\u043a\u0446\u0438\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0442\u0430\u0431\u043b\u0438\u0446 \u0438 \u0438\u043d\u0434\u0435\u043a\u0441\u043e\u0432, \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 Column-store \u0438 In-Memory \u0442\u0430\u0431\u043b\u0438\u0446, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0441\u0436\u0430\u0442\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445. \u042d\u0442\u043e \u0442\u043e\u0442 \u0440\u0435\u0434\u043a\u0438\u0439 \u0441\u043b\u0443\u0447\u0430\u0439, \u043a\u043e\u0433\u0434\u0430 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u043e\u0442 \u043c\u0435\u043b\u043a\u043e\u043c\u044f\u0433\u043a\u0438\u0445 \u0441\u0442\u043e\u0438\u0442 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u0435\u0433\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c.<\/p>\n<p>  \u0414\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043b\u0438 \u044d\u0442\u043e\u0433\u043e \u0447\u0442\u043e\u0431\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c Express Edition \u0434\u043b\u044f \u043f\u0440\u043e\u0434\u0430\u043a\u0448\u0435\u043d \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438?<\/p>\n<p>  \u0427\u0442\u043e\u0431\u044b \u043e\u0442\u0432\u0435\u0442\u0438\u0442\u044c \u043d\u0430 \u044d\u0442\u043e\u0442 \u0432\u043e\u043f\u0440\u043e\u0441 \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0435\u0432.<\/p>\n<p>  \u041f\u0440\u043e\u0442\u0435\u0441\u0442\u0438\u0440\u0443\u0435\u043c \u043e\u0434\u043d\u043e\u043f\u043e\u0442\u043e\u0447\u043d\u0443\u044e \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0443 \u0440\u0430\u0437\u043d\u044b\u0445 \u0442\u0438\u043f\u043e\u0432 \u0442\u0430\u0431\u043b\u0438\u0446 \u0434\u043b\u044f \u0432\u0441\u0442\u0430\u0432\u043a\u0438\/\u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f\/\u0443\u0434\u0430\u043b\u0435\u043d\u0438\u044f 200.000 \u0441\u0442\u0440\u043e\u043a:<\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">\u0422\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 OLTP \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438<\/b>                         <\/p>\n<div class=\"spoiler_text\">\n<pre> USE [master] GO  SET NOCOUNT ON SET STATISTICS IO, TIME OFF  IF DB_ID('express') IS NOT NULL BEGIN     ALTER DATABASE [express] SET SINGLE_USER WITH ROLLBACK IMMEDIATE     DROP DATABASE [express] END GO  CREATE DATABASE [express] ON PRIMARY (NAME = N'express', FILENAME = N'X:\\express.mdf', SIZE = 200 MB, FILEGROWTH = 100 MB)     LOG ON (NAME = N'express_log', FILENAME = N'X:\\express_log.ldf', SIZE = 200 MB, FILEGROWTH = 100 MB)  ALTER DATABASE [express] SET AUTO_CLOSE OFF ALTER DATABASE [express] SET RECOVERY SIMPLE ALTER DATABASE [express] SET MULTI_USER ALTER DATABASE [express] SET DELAYED_DURABILITY = ALLOWED ALTER DATABASE [express] ADD FILEGROUP [MEM] CONTAINS MEMORY_OPTIMIZED_DATA ALTER DATABASE [express] ADD FILE (NAME = 'MEM', FILENAME = 'X:\\MEM') TO FILEGROUP [MEM] ALTER DATABASE [express] SET MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT = ON GO   USE [express] GO  CREATE TABLE [T1_CL] (A INT PRIMARY KEY, B DATETIME INDEX IX1 NONCLUSTERED) GO  CREATE TABLE [T2_MEM] (A INT PRIMARY KEY NONCLUSTERED, B DATETIME INDEX IX1 NONCLUSTERED)     WITH (MEMORY_OPTIMIZED = ON, DURABILITY = SCHEMA_AND_DATA) GO  CREATE TABLE [T3_MEM_NC] (A INT PRIMARY KEY NONCLUSTERED, B DATETIME INDEX IX1 NONCLUSTERED)     WITH (MEMORY_OPTIMIZED = ON, DURABILITY = SCHEMA_AND_DATA)  CREATE TABLE [T4_CL_DD] (A INT PRIMARY KEY, B DATETIME INDEX IX1 NONCLUSTERED) GO  CREATE TABLE [T5_MEM_DD] (A INT PRIMARY KEY NONCLUSTERED, B DATETIME INDEX IX1 NONCLUSTERED)     WITH (MEMORY_OPTIMIZED = ON, DURABILITY = SCHEMA_AND_DATA) GO  CREATE TABLE [T6_MEM_NC_DD] (A INT PRIMARY KEY NONCLUSTERED, B DATETIME INDEX IX1 NONCLUSTERED)     WITH (MEMORY_OPTIMIZED = ON, DURABILITY = SCHEMA_AND_DATA) GO  CREATE TABLE [T7_MEM_SO] (A INT PRIMARY KEY NONCLUSTERED, B DATETIME INDEX IX1 NONCLUSTERED)     WITH (MEMORY_OPTIMIZED = ON, DURABILITY = SCHEMA_ONLY) GO  CREATE TABLE [T8_MEM_SO_NC] (A INT PRIMARY KEY NONCLUSTERED, B DATETIME INDEX IX1 NONCLUSTERED)     WITH (MEMORY_OPTIMIZED = ON, DURABILITY = SCHEMA_ONLY) GO  CREATE PROCEDURE [T3_MEM_I] (@i INT) WITH NATIVE_COMPILATION, SCHEMABINDING AS BEGIN ATOMIC WITH (TRANSACTION ISOLATION LEVEL = SNAPSHOT, LANGUAGE = N'us_english')     INSERT INTO [dbo].[T3_MEM_NC] VALUES (@i, GETDATE()) END GO  CREATE PROCEDURE [T3_MEM_U] (@i INT) WITH NATIVE_COMPILATION, SCHEMABINDING AS BEGIN ATOMIC WITH (TRANSACTION ISOLATION LEVEL = SNAPSHOT, LANGUAGE = N'us_english')     UPDATE [dbo].[T3_MEM_NC] SET B = GETDATE() WHERE A = @i END GO  CREATE PROCEDURE [T3_MEM_D] (@i INT) WITH NATIVE_COMPILATION, SCHEMABINDING AS BEGIN ATOMIC WITH (TRANSACTION ISOLATION LEVEL = SNAPSHOT, LANGUAGE = N'us_english')     DELETE [dbo].[T3_MEM_NC] WHERE A = @i END GO  CREATE PROCEDURE [T6_MEM_I] (@i INT) WITH NATIVE_COMPILATION, SCHEMABINDING AS BEGIN ATOMIC WITH (TRANSACTION ISOLATION LEVEL = SNAPSHOT, LANGUAGE = N'us_english')     INSERT INTO [dbo].[T6_MEM_NC_DD] VALUES (@i, GETDATE()) END GO  CREATE PROCEDURE [T6_MEM_U] (@i INT) WITH NATIVE_COMPILATION, SCHEMABINDING AS BEGIN ATOMIC WITH (TRANSACTION ISOLATION LEVEL = SNAPSHOT, LANGUAGE = N'us_english')     UPDATE [dbo].[T6_MEM_NC_DD] SET B = GETDATE() WHERE A = @i END GO  CREATE PROCEDURE [T6_MEM_D] (@i INT) WITH NATIVE_COMPILATION, SCHEMABINDING AS BEGIN ATOMIC WITH (TRANSACTION ISOLATION LEVEL = SNAPSHOT, LANGUAGE = N'us_english')     DELETE [dbo].[T6_MEM_NC_DD] WHERE A = @i END GO  CREATE PROCEDURE [T8_MEM_I] (@i INT) WITH NATIVE_COMPILATION, SCHEMABINDING AS BEGIN ATOMIC WITH (TRANSACTION ISOLATION LEVEL = SNAPSHOT, LANGUAGE = N'us_english')     INSERT INTO [dbo].[T8_MEM_SO_NC] VALUES (@i, GETDATE()) END GO  CREATE PROCEDURE [T8_MEM_U] (@i INT) WITH NATIVE_COMPILATION, SCHEMABINDING AS BEGIN ATOMIC WITH (TRANSACTION ISOLATION LEVEL = SNAPSHOT, LANGUAGE = N'us_english')     UPDATE [dbo].[T8_MEM_SO_NC] SET B = GETDATE() WHERE A = @i END GO  CREATE PROCEDURE [T8_MEM_D] (@i INT) WITH NATIVE_COMPILATION, SCHEMABINDING AS BEGIN ATOMIC WITH (TRANSACTION ISOLATION LEVEL = SNAPSHOT, LANGUAGE = N'us_english')     DELETE [dbo].[T8_MEM_SO_NC] WHERE A = @i END GO  DECLARE @i INT       , @s DATETIME       , @runs INT = 200000  DROP TABLE IF EXISTS #stats CREATE TABLE #stats (obj VARCHAR(100), op VARCHAR(100), time_ms BIGINT)  SELECT @i = 1, @s = GETDATE() WHILE @i &lt;= @runs BEGIN     INSERT INTO [T1_CL] VALUES (@i, GETDATE())     SET @i += 1 END INSERT INTO #stats SELECT 'T1_CL', 'INSERT', DATEDIFF(ms, @s, GETDATE())  SELECT @i = 1, @s = GETDATE() WHILE @i &lt;= @runs BEGIN     UPDATE [T1_CL] SET B = GETDATE() WHERE A = @i     SET @i += 1 END INSERT INTO #stats SELECT 'T1_CL', 'UPDATE', DATEDIFF(ms, @s, GETDATE())  SELECT @i = 1, @s = GETDATE() WHILE @i &lt;= @runs BEGIN     DELETE [T1_CL] WHERE A = @i     SET @i += 1 END INSERT INTO #stats SELECT 'T1_CL', 'DELETE', DATEDIFF(ms, @s, GETDATE())  SELECT @i = 1, @s = GETDATE() WHILE @i &lt;= @runs BEGIN     INSERT INTO [T2_MEM] VALUES (@i, GETDATE())     SET @i += 1 END INSERT INTO #stats SELECT 'T2_MEM', 'INSERT', DATEDIFF(ms, @s, GETDATE())  SELECT @i = 1, @s = GETDATE() WHILE @i &lt;= @runs BEGIN     UPDATE [T2_MEM] SET B = GETDATE() WHERE A = @i     SET @i += 1 END INSERT INTO #stats SELECT 'T2_MEM', 'UPDATE', DATEDIFF(ms, @s, GETDATE())  SELECT @i = 1, @s = GETDATE() WHILE @i &lt;= @runs BEGIN     DELETE [T2_MEM] WHERE A = @i     SET @i += 1 END INSERT INTO #stats SELECT 'T2_MEM', 'DELETE', DATEDIFF(ms, @s, GETDATE())  SELECT @i = 1, @s = GETDATE() WHILE @i &lt;= @runs BEGIN     EXEC [T3_MEM_I] @i     SET @i += 1 END INSERT INTO #stats SELECT 'T3_MEM_NC', 'INSERT', DATEDIFF(ms, @s, GETDATE())  SELECT @i = 1, @s = GETDATE() WHILE @i &lt;= @runs BEGIN     EXEC [T3_MEM_U] @i     SET @i += 1 END INSERT INTO #stats SELECT 'T3_MEM_NC', 'UPDATE', DATEDIFF(ms, @s, GETDATE())  SELECT @i = 1, @s = GETDATE() WHILE @i &lt;= @runs BEGIN     EXEC [T3_MEM_D] @i     SET @i += 1 END INSERT INTO #stats SELECT 'T3_MEM_NC', 'DELETE', DATEDIFF(ms, @s, GETDATE())  SELECT @i = 1, @s = GETDATE() WHILE @i &lt;= @runs BEGIN     BEGIN TRANSACTION t         INSERT INTO [T4_CL_DD] VALUES (@i, GETDATE())     COMMIT TRANSACTION t WITH (DELAYED_DURABILITY = ON)     SET @i += 1 END INSERT INTO #stats SELECT 'T4_CL_DD', 'INSERT', DATEDIFF(ms, @s, GETDATE())  SELECT @i = 1, @s = GETDATE() WHILE @i &lt;= @runs BEGIN     BEGIN TRANSACTION t         UPDATE [T4_CL_DD] SET B = GETDATE() WHERE A = @i     COMMIT TRANSACTION t WITH (DELAYED_DURABILITY = ON)     SET @i += 1 END INSERT INTO #stats SELECT 'T4_CL_DD', 'UPDATE', DATEDIFF(ms, @s, GETDATE())  SELECT @i = 1, @s = GETDATE() WHILE @i &lt;= @runs BEGIN     BEGIN TRANSACTION t          DELETE [T4_CL_DD] WHERE A = @i     COMMIT TRANSACTION t WITH (DELAYED_DURABILITY = ON)     SET @i += 1 END INSERT INTO #stats SELECT 'T4_CL_DD', 'DELETE', DATEDIFF(ms, @s, GETDATE())  SELECT @i = 1, @s = GETDATE() WHILE @i &lt;= @runs BEGIN     BEGIN TRANSACTION t         INSERT INTO [T5_MEM_DD] VALUES (@i, GETDATE())     COMMIT TRANSACTION t WITH (DELAYED_DURABILITY = ON)     SET @i += 1 END INSERT INTO #stats SELECT 'T5_MEM_DD', 'INSERT', DATEDIFF(ms, @s, GETDATE())  SELECT @i = 1, @s = GETDATE() WHILE @i &lt;= @runs BEGIN     BEGIN TRANSACTION t         UPDATE [T5_MEM_DD] SET B = GETDATE() WHERE A = @i     COMMIT TRANSACTION t WITH (DELAYED_DURABILITY = ON)     SET @i += 1 END INSERT INTO #stats SELECT 'T5_MEM_DD', 'UPDATE', DATEDIFF(ms, @s, GETDATE())  SELECT @i = 1, @s = GETDATE() WHILE @i &lt;= @runs BEGIN     BEGIN TRANSACTION t         DELETE [T5_MEM_DD] WHERE A = @i     COMMIT TRANSACTION t WITH (DELAYED_DURABILITY = ON)     SET @i += 1 END INSERT INTO #stats SELECT 'T5_MEM_DD', 'DELETE', DATEDIFF(ms, @s, GETDATE())  SELECT @i = 1, @s = GETDATE() WHILE @i &lt;= @runs BEGIN     BEGIN TRANSACTION t         EXEC [T6_MEM_I] @i     COMMIT TRANSACTION t WITH (DELAYED_DURABILITY = ON)     SET @i += 1 END INSERT INTO #stats SELECT 'T6_MEM_NC_DD', 'INSERT', DATEDIFF(ms, @s, GETDATE())  SELECT @i = 1, @s = GETDATE() WHILE @i &lt;= @runs BEGIN     BEGIN TRANSACTION t         EXEC [T6_MEM_U] @i     COMMIT TRANSACTION t WITH (DELAYED_DURABILITY = ON)     SET @i += 1 END INSERT INTO #stats SELECT 'T6_MEM_NC_DD', 'UPDATE', DATEDIFF(ms, @s, GETDATE())  SELECT @i = 1, @s = GETDATE() WHILE @i &lt;= @runs BEGIN     BEGIN TRANSACTION t         EXEC [T6_MEM_D] @i     COMMIT TRANSACTION t WITH (DELAYED_DURABILITY = ON)     SET @i += 1 END INSERT INTO #stats SELECT 'T6_MEM_NC_DD', 'DELETE', DATEDIFF(ms, @s, GETDATE())  SELECT @i = 1, @s = GETDATE() WHILE @i &lt;= @runs BEGIN     INSERT INTO [T7_MEM_SO] VALUES (@i, GETDATE())     SET @i += 1 END INSERT INTO #stats SELECT 'T7_MEM_SO', 'INSERT', DATEDIFF(ms, @s, GETDATE())  SELECT @i = 1, @s = GETDATE() WHILE @i &lt;= @runs BEGIN     UPDATE [T7_MEM_SO] SET B = GETDATE() WHERE A = @i     SET @i += 1 END INSERT INTO #stats SELECT 'T7_MEM_SO', 'UPDATE', DATEDIFF(ms, @s, GETDATE())  SELECT @i = 1, @s = GETDATE() WHILE @i &lt;= @runs BEGIN     DELETE [T7_MEM_SO] WHERE A = @i     SET @i += 1 END INSERT INTO #stats SELECT 'T7_MEM_SO', 'DELETE', DATEDIFF(ms, @s, GETDATE())  SELECT @i = 1, @s = GETDATE() WHILE @i &lt;= @runs BEGIN     EXEC [T8_MEM_I] @i     SET @i += 1 END INSERT INTO #stats SELECT 'T8_MEM_SO_NC', 'INSERT', DATEDIFF(ms, @s, GETDATE())  SELECT @i = 1, @s = GETDATE() WHILE @i &lt;= @runs BEGIN     EXEC [T8_MEM_U] @i     SET @i += 1 END INSERT INTO #stats SELECT 'T8_MEM_SO_NC', 'UPDATE', DATEDIFF(ms, @s, GETDATE())  SELECT @i = 1, @s = GETDATE() WHILE @i &lt;= @runs BEGIN     EXEC [T8_MEM_D] @i     SET @i += 1 END INSERT INTO #stats SELECT 'T8_MEM_SO_NC', 'DELETE', DATEDIFF(ms, @s, GETDATE()) GO  SELECT obj      , [I] = MAX(CASE WHEN op = 'INSERT' THEN time_ms END)      , [U] = MAX(CASE WHEN op = 'UPDATE' THEN time_ms END)      , [D] = MAX(CASE WHEN op = 'DELETE' THEN time_ms END) FROM #stats GROUP BY obj  USE [master] GO  IF DB_ID('express') IS NOT NULL BEGIN     ALTER DATABASE [express] SET SINGLE_USER WITH ROLLBACK IMMEDIATE     DROP DATABASE [express] END <\/pre>\n<\/div><\/div>\n<p>  \u041f\u043e \u0438\u0442\u043e\u0433\u0443 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043c\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f:<\/p>\n<pre>                 I       U       D --------------- ------- ------- ------- --------------------------------------------------------------- T1_CL           12173   14434   12576   B-Tree Index T2_MEM          14774   14593   13777   In-Memory SCHEMA_AND_DATA T3_MEM_NC       11563   10560   10097   In-Memory SCHEMA_AND_DATA + Native Compile T4_CL_DD        5176    7294    5303    B-Tree Index + Delayed Durability T5_MEM_DD       7460    7163    6214    In-Memory SCHEMA_AND_DATA + Delayed Durability T6_MEM_NC_DD    8386    7494    6973    In-Memory SCHEMA_AND_DATA + Native Compile + Delayed Durability T7_MEM_SO       5667    5383    4473    In-Memory SCHEMA_ONLY T8_MEM_SO_NC    3250    2430    2287    In-Memory SCHEMA_ONLY + Native Compile <\/pre>\n<p>  \u041e\u0434\u0438\u043d \u0438\u0437 \u043d\u0430\u0438\u0445\u0443\u0434\u0448\u0438\u0445 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432 \u0443 \u043d\u0430\u0441 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u0442\u0430\u0431\u043b\u0438\u0446\u0430 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u043d\u043e\u0433\u043e \u0438\u043d\u0434\u0435\u043a\u0441\u0430 (T1_CL). \u0415\u0441\u043b\u0438 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0443 \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u0439 \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043f\u0435\u0440\u0432\u043e\u0439 \u0442\u0430\u0431\u043b\u0438\u0446\u044b:<\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">\u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0438 \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u0439<\/b>                         <\/p>\n<div class=\"spoiler_text\">\n<pre> SELECT TOP(20) wait_type              , wait_time = CAST(wait_time_ms \/ 1000. AS DECIMAL(18,4))              , wait_resource = CAST((wait_time_ms - signal_wait_time_ms) \/ 1000. AS DECIMAL(18,4))              , wait_signal = CAST(signal_wait_time_ms \/ 1000. AS DECIMAL(18,4))              , wait_time_percent = CAST(100. * wait_time_ms \/ NULLIF(SUM(wait_time_ms) OVER (), 0) AS DECIMAL(18,2))              , waiting_tasks_count FROM sys.dm_os_wait_stats WHERE waiting_tasks_count &gt; 0     AND wait_time_ms &gt; 0     AND wait_type NOT IN (         N'BROKER_EVENTHANDLER', N'BROKER_RECEIVE_WAITFOR',         N'BROKER_TASK_STOP', N'BROKER_TO_FLUSH',         N'BROKER_TRANSMITTER', N'CHECKPOINT_QUEUE',         N'CHKPT', N'CLR_AUTO_EVENT',         N'CLR_MANUAL_EVENT', N'CLR_SEMAPHORE',         N'DBMIRROR_DBM_EVENT', N'DBMIRROR_EVENTS_QUEUE',         N'DBMIRROR_WORKER_QUEUE', N'DBMIRRORING_CMD',         N'DIRTY_PAGE_POLL', N'DISPATCHER_QUEUE_SEMAPHORE',         N'EXECSYNC', N'FSAGENT',         N'FT_IFTS_SCHEDULER_IDLE_WAIT', N'FT_IFTSHC_MUTEX',         N'HADR_CLUSAPI_CALL', N'HADR_FILESTREAM_IOMGR_IOCOMPLETION',         N'HADR_LOGCAPTURE_WAIT', N'HADR_NOTIFICATION_DEQUEUE',         N'HADR_TIMER_TASK', N'HADR_WORK_QUEUE',         N'KSOURCE_WAKEUP', N'LAZYWRITER_SLEEP',         N'LOGMGR_QUEUE', N'ONDEMAND_TASK_QUEUE',         N'PWAIT_ALL_COMPONENTS_INITIALIZED',         N'QDS_PERSIST_TASK_MAIN_LOOP_SLEEP',         N'QDS_CLEANUP_STALE_QUERIES_TASK_MAIN_LOOP_SLEEP',         N'REQUEST_FOR_DEADLOCK_SEARCH', N'RESOURCE_QUEUE',         N'SERVER_IDLE_CHECK', N'SLEEP_BPOOL_FLUSH',         N'SLEEP_DBSTARTUP', N'SLEEP_DCOMSTARTUP',         N'SLEEP_MASTERDBREADY', N'SLEEP_MASTERMDREADY',         N'SLEEP_MASTERUPGRADED', N'SLEEP_MSDBSTARTUP',         N'SLEEP_SYSTEMTASK', N'SLEEP_TASK',         N'SLEEP_TEMPDBSTARTUP', N'SNI_HTTP_ACCEPT',         N'SP_SERVER_DIAGNOSTICS_SLEEP', N'SQLTRACE_BUFFER_FLUSH',         N'SQLTRACE_INCREMENTAL_FLUSH_SLEEP',         N'SQLTRACE_WAIT_ENTRIES', N'WAIT_FOR_RESULTS',         N'WAITFOR', N'WAITFOR_TASKSHUTDOWN',         N'WAIT_XTP_HOST_WAIT', N'WAIT_XTP_OFFLINE_CKPT_NEW_LOG',         N'WAIT_XTP_CKPT_CLOSE', N'XE_DISPATCHER_JOIN',         N'XE_DISPATCHER_WAIT', N'XE_TIMER_EVENT'     ) ORDER BY wait_time_ms DESC <\/pre>\n<p>  <\/div>\n<\/p><\/div>\n<p>  \u0442\u043e \u043c\u044b \u0437\u0430\u043c\u0435\u0442\u0438\u043c, \u0447\u0442\u043e \u043d\u0430\u0438\u0431\u043e\u043b\u044c\u0448\u0430\u044f \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u0430 \u043d\u0430\u0431\u043b\u044e\u0434\u0430\u0435\u0442\u0441\u044f \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 WRITELOG:<\/p>\n<pre> wait_type                        wait_time  wait_resource  wait_signal  wait_time_percent  waiting_tasks_count  -------------------------------- ---------- -------------- ------------ ------------------ -------------------- WRITELOG                         13.5480    10.7500        2.7980       95.66              600048               MEMORY_ALLOCATION_EXT            0.5030     0.5030         0.0000       3.55               608695               PREEMPTIVE_OS_WRITEFILEGATHER    0.0250     0.0250         0.0000       0.18               3                    ASYNC_IO_COMPLETION              0.0200     0.0200         0.0000       0.14               1                    IO_COMPLETION                    0.0200     0.0200         0.0000       0.14               8                    <\/pre>\n<p>  \u041e\u0442\u043a\u0440\u043e\u0435\u043c <a href=\"https:\/\/www.sqlskills.com\/help\/waits\/\" rel=\"nofollow noopener noreferrer\">\u044d\u043d\u0446\u0438\u043a\u043b\u043e\u043f\u0435\u0434\u0438\u044e \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u0439<\/a> \u0437\u0430 \u0430\u0432\u0442\u043e\u0440\u0441\u0442\u0432\u043e\u043c Paul Randal \u0438 \u043d\u0430\u0439\u0434\u0435\u043c \u0442\u0430\u043c WRITELOG \u043f\u043e\u043f\u0443\u0442\u043d\u043e \u0441\u0432\u0435\u0440\u044f\u044f\u0441\u044c \u0441 MSDN:<\/p>\n<p>  <i>This is the log management system waiting for a log flush to disk. It commonly indicates that the I\/O subsystem can\u2019t keep up with the log flush volume, but on very high-volume systems it could also be caused by internal log flush limits, that may mean you have to split your workload over multiple databases or even make your transactions a little longer to reduce log flushes. To be sure it\u2019s the I\/O subsystem, use the DMV sys.dm_io_virtual_file_stats to examine the I\/O latency for the log file and see if it correlates to the average WRITELOG time. If WRITELOG is longer, you\u2019ve got internal contention and need to shard. If not, investigate why you\u2019re creating so much transaction log.<\/i><\/p>\n<p>  \u041d\u0430\u0448 \u0441\u043b\u0443\u0447\u0430\u0439 \u0432\u0435\u0441\u044c\u043c\u0430 \u043e\u0447\u0435\u0432\u0438\u0434\u043d\u044b\u0439 \u0438 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0441 \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u044f\u043c\u0438 WRITELOG \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0431\u044b \u0432\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u043d\u0435 \u043f\u043e\u0441\u0442\u0440\u043e\u0447\u043d\u043e, \u0430 \u0433\u0440\u0443\u043f\u043f\u0430\u043c\u0438 \u0441\u0442\u0440\u043e\u043a \u0437\u0430 \u0440\u0430\u0437. \u041d\u043e \u0443 \u043d\u0430\u0441 \u0436\u0435 \u0441\u0443\u0433\u0443\u0431\u043e \u0430\u043a\u0430\u0434\u0435\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0438\u043d\u0442\u0435\u0440\u0435\u0441 \u043a\u0430\u0441\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438, \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u043d\u043e\u0439 \u0432\u044b\u0448\u0435, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0441\u0442\u043e\u0438\u043b\u043e \u0431\u044b \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c\u0441\u044f, \u043a\u0430\u043a \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 SQL Server?<\/p>\n<p>  \u041f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0436\u0438\u043c, \u043c\u044b \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044e \u0441\u0442\u0440\u043e\u043a\u0438. SQL Server \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442 Storage Engine, \u0442\u043e\u0442, \u0432 \u0441\u0432\u043e\u044e \u043e\u0447\u0435\u0440\u0435\u0434\u044c, \u043e\u0431\u0440\u0430\u0449\u044f\u0435\u0442\u0441\u044f \u043a Buffer Manager (\u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0441 \u0431\u0443\u0444\u0435\u0440\u0430\u043c\u0438 \u0432 \u043f\u0430\u043c\u044f\u0442\u0438 \u0438 \u0434\u0438\u0441\u043a\u043e\u043c) \u0438 \u0433\u043e\u0432\u043e\u0440\u0438\u0442, \u0447\u0442\u043e \u044f \u0445\u043e\u0447\u0443 \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435. \u041f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e Buffer Manager \u043e\u0431\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f \u043a Buffer Pool \u0438 \u043c\u043e\u0434\u0438\u0444\u0438\u0446\u0438\u0440\u0443\u0435\u0442 \u043d\u0443\u0436\u043d\u044b\u0435 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b \u0432 \u043f\u0430\u043c\u044f\u0442\u0438 (\u0435\u0441\u043b\u0438 \u044d\u0442\u0438\u0445 \u0441\u0442\u0440\u0430\u043d\u0438\u0446 \u043d\u0435\u0442, \u0442\u043e \u043e\u043d \u0438\u0445 \u043f\u043e\u0434\u0433\u0440\u0443\u0437\u0438\u0442 \u0441 \u0434\u0438\u0441\u043a\u0430, \u0430 \u043c\u044b \u043f\u043e\u043f\u0443\u0442\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u043c \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u044f PAGEIOLATCH_*). \u0412 \u043c\u043e\u043c\u0435\u043d\u0442, \u043a\u043e\u0433\u0434\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430 \u0432 \u043f\u0430\u043c\u044f\u0442\u0438 \u0438\u0437\u043c\u0435\u043d\u0438\u043b\u0430\u0441\u044c, SQL Server \u0435\u0449\u0435 \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0441\u043a\u0430\u0437\u0430\u0442\u044c, \u0447\u0442\u043e \u0437\u0430\u043f\u0440\u043e\u0441 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d. \u0418\u043d\u0430\u0447\u0435 \u0431\u044b \u043d\u0430\u0440\u0443\u0448\u0430\u043b\u0441\u044f \u043e\u0434\u0438\u043d \u0438\u0437 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u043e\u0432 ACID (Durability), \u043a\u043e\u0433\u0434\u0430 \u0432 \u043a\u043e\u043d\u0446\u0435 \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u0443\u0435\u0442\u0441\u044f, \u0447\u0442\u043e \u0432\u0441\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0431\u0443\u0434\u0443\u0442 \u0437\u0430\u043f\u0438\u0441\u0430\u043d\u044b \u043d\u0430 \u0434\u0438\u0441\u043a.<\/p>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b \u0432 \u043f\u0430\u043c\u044f\u0442\u0438 Storage Engine \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442 Log Manager, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 \u0444\u0430\u0439\u043b \u043b\u043e\u0433\u0430. \u041d\u043e \u0434\u0435\u043b\u0430\u0435\u0442 \u043e\u043d \u044d\u0442\u043e \u043d\u0435 \u0441\u0440\u0430\u0437\u0443, \u0430 \u0447\u0435\u0440\u0435\u0437 Log Buffer, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0438\u043c\u0435\u0435\u0442 \u0440\u0430\u0437\u043c\u0435\u0440 60\u041a\u0431 (\u0435\u0441\u0442\u044c \u043d\u044e\u0430\u043d\u0441\u044b, \u043d\u043e \u043c\u044b \u0438\u0445 \u0442\u0443\u0442 \u043f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u043c) \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u043f\u0440\u0438 \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 \u0444\u0430\u0439\u043b\u043e\u043c \u043b\u043e\u0433\u0430. \u0421\u0431\u0440\u043e\u0441 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u0437 \u0431\u0443\u0444\u0435\u0440\u0430 \u0432 \u0444\u0430\u0439\u043b \u043b\u043e\u0433\u0430 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0432 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044f\u0445 \u043a\u043e\u0433\u0434\u0430: \u0431\u0443\u0444\u0435\u0440 \u0437\u0430\u043f\u043e\u043b\u043d\u0438\u043b\u0441\u044f, \u043c\u044b \u0432\u0440\u0443\u0447\u043d\u0443\u044e \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u043b\u0438 sp_flush_log \u0438\u043b\u0438 \u043a\u043e\u0433\u0434\u0430 \u043f\u0440\u043e\u0438\u0437\u043e\u0448\u0435\u043b \u043a\u043e\u043c\u043c\u0438\u0442 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438 \u0438 \u0432\u0441\u0435 \u0438\u0437 Log Buffer \u0437\u0430\u043f\u0438\u0441\u0430\u043b\u043e\u0441\u044c \u0432 \u0444\u0430\u0439\u043b \u043b\u043e\u0433\u0430. \u041a\u043e\u0433\u0434\u0430 \u0434\u0430\u043d\u043d\u044b\u0435 \u0431\u044b\u043b\u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u044b \u0432 \u0444\u0430\u0439\u043b\u0435 \u043b\u043e\u0433\u0430, \u0442\u043e \u0438\u0434\u0435\u0442 \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u0435, \u0447\u0442\u043e \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u0430 \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u0438 \u0438\u0437\u0432\u0435\u0449\u0430\u0435\u0442 \u043e\u0431 \u044d\u0442\u043e\u043c \u043a\u043b\u0438\u0435\u043d\u0442.<\/p>\n<p>  \u0421\u043e\u0433\u043b\u0430\u0441\u043d\u043e \u044d\u0442\u043e\u0439 \u043b\u043e\u0433\u0438\u043a\u0435 \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u043c\u0435\u0442\u0438\u0442\u044c, \u0447\u0442\u043e \u0434\u0430\u043d\u043d\u044b\u0435 \u043d\u0435 \u043f\u043e\u043f\u0430\u0434\u0430\u044e\u0442 \u0441\u0440\u0430\u0437\u0443 \u0432 \u0444\u0430\u0439\u043b \u0434\u0430\u043d\u043d\u044b\u0445. \u0414\u043b\u044f \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0434\u0438\u0441\u043a\u043e\u0432\u043e\u0439 \u043f\u043e\u0434\u0441\u0438\u0441\u0442\u0435\u043c\u043e\u0439 SQL Server \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u044b\u0439 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c \u0434\u043b\u044f \u0437\u0430\u043f\u0438\u0441\u0438 \u0432 \u0444\u0430\u0439\u043b\u044b \u0434\u0430\u043d\u043d\u044b\u0445. \u0412\u0441\u0435\u0433\u043e \u0442\u0430\u043a\u0438\u0445 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u043e\u0432 \u0434\u0432\u0430: Lazy Writer (\u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u043f\u0435\u0440\u0438\u043e\u0434\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u043e\u0441\u043d\u043e\u0432\u0435, \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043b\u0438 \u043f\u0430\u043c\u044f\u0442\u0438 \u0434\u043b\u044f SQL Server, \u0435\u0441\u043b\u0438 \u043d\u0430\u0431\u043b\u044e\u0434\u0430\u0435\u0442\u0441\u044f memory pressure, \u0442\u043e \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b \u0438\u0437 \u043f\u0430\u043c\u044f\u0442\u0438 \u0432\u044b\u0442\u0435\u0441\u043d\u044f\u044e\u0442\u0441\u044f \u0438 \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u0432 \u0444\u0430\u0439\u043b \u0434\u0430\u043d\u043d\u044b\u0445, \u0430 \u0442\u0435 \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u044b\u043b\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u044b \u043e\u043d \u0441\u0431\u0440\u0430\u0441\u044b\u0432\u0430\u0435\u0442 \u043d\u0430 \u0434\u0438\u0441\u043a \u0438 \u0432\u044b\u043a\u0438\u0434\u044b\u0432\u0430\u0435\u0442 \u0438\u0437 \u043f\u0430\u043c\u044f\u0442\u0438) \u0438 Checkpoint (\u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0440\u0430\u0437 \u0432 \u043c\u0438\u043d\u0443\u0442\u0443 \u0441\u043a\u0430\u043d\u0438\u0440\u0443\u0435\u0442 \u0433\u0440\u044f\u0437\u043d\u044b\u0435 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b, \u0441\u0431\u0440\u0430\u0441\u044b\u0432\u0430\u0435\u0442 \u0438\u0445 \u043d\u0430 \u0434\u0438\u0441\u043a \u0438 \u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0432 \u043f\u0430\u043c\u044f\u0442\u0438).<\/p>\n<p>  \u041a\u043e\u0433\u0434\u0430 \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u043a\u0443\u0447\u0430 \u043c\u0435\u043b\u043a\u0438\u0445 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0439 (\u0441\u043a\u0430\u0436\u0435\u043c \u0435\u0441\u043b\u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u043c\u043e\u0434\u0438\u0444\u0438\u0446\u0438\u0440\u0443\u044e\u0442 \u043f\u043e\u0441\u0442\u0440\u043e\u0447\u043d\u043e), \u0442\u043e \u043f\u043e\u0441\u043b\u0435 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043a\u043e\u043c\u043c\u0438\u0442\u0430 \u0434\u0430\u043d\u043d\u044b\u0435 \u0443\u0445\u043e\u0434\u044f\u0442 \u0438\u0437 Log Buffer \u0432 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u043b\u043e\u0433. \u041f\u043e\u043c\u043d\u0438\u043c, \u0447\u0442\u043e \u0432 \u0444\u0430\u0439\u043b \u043b\u043e\u0433\u0430 \u0432\u0441\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043f\u043e\u043f\u0430\u0434\u0430\u044e\u0442 \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u043e \u0438 \u0434\u0440\u0443\u0433\u0438\u043c \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044f\u043c \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0436\u0434\u0430\u0442\u044c \u0441\u0432\u043e\u0435\u0439 \u043e\u0447\u0435\u0440\u0435\u0434\u0438 \u2013 \u044d\u0442\u043e \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0449\u0438\u043c \u0444\u0430\u043a\u0442\u043e\u0440\u043e\u043c \u0434\u043b\u044f \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u044f \u0432\u044b\u0441\u043e\u043a\u043e\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c.<\/p>\n<p>  \u0422\u043e\u0433\u0434\u0430 \u043a\u0430\u043a\u0430\u044f \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u0430 \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u044d\u0442\u043e\u0439 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b?<\/p>\n<p>  \u0412 SQL Server 2014 \u043f\u043e\u044f\u0432\u0438\u043b\u0430\u0441\u044c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c <a href=\"https:\/\/docs.microsoft.com\/en-us\/sql\/relational-databases\/in-memory-oltp\/overview-and-usage-scenarios?view=sql-server-ver15\" rel=\"nofollow noopener noreferrer\">In-Memory<\/a> \u0442\u0430\u0431\u043b\u0438\u0446\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435, \u043a\u0430\u043a \u0434\u0435\u043a\u043b\u0430\u0440\u0438\u0440\u043e\u0432\u0430\u043b\u043e\u0441\u044c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430\u043c\u0438, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0442 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0443\u0441\u043a\u043e\u0440\u0438\u0442\u044c OLTP \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0443 \u0437\u0430 \u0441\u0447\u0435\u0442 \u043d\u043e\u0432\u043e\u0433\u043e \u0434\u0432\u0438\u0436\u043a\u0430 Hekaton. \u041d\u043e \u0435\u0441\u043b\u0438 \u0432\u044b \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u0442\u0435 \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440 \u0432\u044b\u0448\u0435 (T2_MEM), \u0442\u043e \u043e\u0434\u043d\u043e\u043f\u043e\u0442\u043e\u0447\u043d\u0430\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c In-Memory \u0442\u0430\u043c \u0434\u0430\u0436\u0435 \u0445\u0443\u0436\u0435, \u0447\u0435\u043c \u0443 \u0442\u0440\u0430\u0434\u0438\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0442\u0430\u0431\u043b\u0438\u0446 \u0441 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u043d\u044b\u043c \u0438\u043d\u0434\u0435\u043a\u0441\u043e\u043c (T1_CL) \u2013 \u044d\u0442\u043e \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0437\u0430 \u0441\u0447\u0435\u0442 XTP_PREEMPTIVE_TASK \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432 \u0444\u043e\u043d\u0435 \u043a\u043e\u043c\u043c\u0438\u0442\u044f\u0442 \u0443\u043a\u0440\u0443\u043f\u043d\u0435\u043d\u043d\u044b\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f In-Memory \u0442\u0430\u0431\u043b\u0438\u0446 \u0432 \u0444\u0430\u0439\u043b \u043b\u043e\u0433\u0430 (\u0438 \u0434\u0435\u043b\u0430\u044e\u0442 \u044d\u0442\u043e \u043d\u0435 \u0441\u0438\u043b\u044c\u043d\u043e \u0445\u043e\u0440\u043e\u0448\u043e, \u043a\u0430\u043a \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0430).<\/p>\n<p>  \u041f\u043e \u0444\u0430\u043a\u0442\u0443 \u0432\u0435\u0441\u044c \u0441\u043c\u044b\u0441\u043b In-Memory \u0432 \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u043d\u043e\u043c \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u0435 \u043a\u043e\u043d\u043a\u0443\u0440\u0435\u043d\u0442\u043d\u043e\u0433\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u0438 \u0441\u043d\u0438\u0436\u0435\u043d\u0438\u0438 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043e\u043a \u043f\u0440\u0438 \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u0434\u0430\u043d\u043d\u044b\u0445. \u0412 \u0442\u0430\u043a\u0438\u0445 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u044f \u0438\u0445 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442 \u043a \u043f\u043e\u0442\u0440\u044f\u0441\u0430\u044e\u0449\u0438\u043c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430\u043c, \u043d\u043e \u0434\u043b\u044f \u0431\u0430\u043d\u0430\u043b\u044c\u043d\u043e\u0433\u043e CRUD \u0438\u0445 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0442\u044c \u043d\u0435 \u0441\u0442\u043e\u0438\u0442.<\/p>\n<p>  \u0410\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u0443\u044e \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044e \u043c\u044b \u0432\u0438\u0434\u0438\u043c \u043d\u0430 \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0438\u0445 \u043f\u043e\u043f\u044b\u0442\u043a\u0430\u0445 \u0443\u0441\u043a\u043e\u0440\u0438\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u0443 In-Memory \u0442\u0430\u0431\u043b\u0438\u0446, \u043d\u0430\u043a\u0440\u0443\u0447\u0438\u0432\u0430\u044f \u043f\u043e\u0432\u0435\u0440\u0445 \u043d\u0438\u0445 <a href=\"https:\/\/docs.microsoft.com\/en-us\/sql\/relational-databases\/in-memory-oltp\/native-compilation-of-tables-and-stored-procedures?view=sql-server-ver15\" rel=\"nofollow noopener noreferrer\">Native Compile<\/a> \u0445\u0440\u0430\u043d\u0438\u043c\u044b\u0435 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u044b (T3_MEM_NC), \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u0442\u043b\u0438\u0447\u043d\u043e \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0438\u0440\u0443\u044e\u0442 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u043a\u0430\u043a\u0438\u0445-\u0442\u043e \u0440\u0430\u0441\u0447\u0435\u0442\u043e\u0432 \u0438 \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u043d\u0438\u0445, \u043d\u043e \u043a\u0430\u043a \u043e\u0431\u0435\u0440\u0442\u043a\u0430 \u0434\u043b\u044f CRUD \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439 \u043f\u0440\u043e\u044f\u0432\u043b\u044f\u044e\u0442 \u0441\u0435\u0431\u044f \u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0438 \u043b\u0438\u0448\u044c \u0441\u043d\u0438\u0436\u0430\u044e\u0442 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0443 \u043d\u0430 \u0441\u0432\u043e\u0439 \u0444\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0432\u044b\u0437\u043e\u0432.<\/p>\n<p>  \u0412\u043e\u043e\u0431\u0449\u0435 \u043a In-Memory \u0442\u0430\u0431\u043b\u0438\u0446\u0430\u043c \u0438 Native Compile \u0445\u0440\u0430\u043d\u0438\u043c\u043a\u0430\u043c \u0443 \u043c\u0435\u043d\u044f \u0434\u0430\u0432\u043d\u044f\u044f \u043d\u0435\u043b\u044e\u0431\u043e\u0432\u044c \u2013 \u0443\u0436 \u0431\u043e\u043b\u044c\u043d\u043e \u043c\u043d\u043e\u0433\u043e \u0431\u044b\u043b\u043e \u0431\u0430\u0433\u043e\u0432 \u0432 SQL Server 2014\/2016 \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0445 \u0441 \u043d\u0438\u043c\u0438. \u0427\u0430\u0441\u0442\u044c \u0432\u0435\u0449\u0435\u0439 \u0438\u0441\u043f\u0440\u0430\u0432\u0438\u043b\u0438, \u0447\u0430\u0441\u0442\u044c \u0443\u043b\u0443\u0447\u0448\u0438\u043b\u0438, \u043d\u043e \u0432\u0441\u0435 \u0440\u0430\u0432\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u044d\u0442\u0443 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u044e \u043d\u0443\u0436\u043d\u043e \u043e\u0447\u0435\u043d\u044c \u0430\u043a\u043a\u0443\u0440\u0430\u0442\u043d\u043e. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u043e\u0441\u043b\u0435 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f In-Memory \u0444\u0430\u0439\u043b\u043e\u0432\u043e\u0439 \u0433\u0440\u0443\u043f\u043f\u044b \u0435\u0435 \u043d\u0435\u043b\u044c\u0437\u044f \u043f\u0440\u043e\u0441\u0442\u043e \u0442\u0430\u043a \u0432\u0437\u044f\u0442\u044c \u0438 \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u0431\u0435\u0437 \u043f\u0435\u0440\u0435\u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0446\u0435\u043b\u0435\u0432\u043e\u0439 \u0431\u0430\u0437\u044b. \u0418 \u0432\u0441\u0435 \u0431\u044b \u043d\u0438\u0447\u0435\u0433\u043e, \u043d\u043e \u0438\u043d\u043e\u0433\u0434\u0430 \u044d\u0442\u0430 \u0444\u0430\u0439\u043b\u043e\u0432\u0430\u044f \u0433\u0440\u0443\u043f\u043f\u0430 \u043c\u043e\u0436\u0435\u0442 \u0440\u0430\u0437\u0440\u0430\u0441\u0442\u0430\u0442\u044c\u0441\u044f \u0432 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0433\u0438\u0433\u0430\u0431\u0430\u0439\u0442 \u0434\u0430\u0436\u0435 \u0435\u0441\u043b\u0438 \u0432\u044b \u043f\u0440\u043e\u0441\u0442\u043e \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0435\u0442\u0435 \u043f\u0430\u0440\u0443 \u0441\u0442\u0440\u043e\u043a \u0432 In-Memory \u0442\u0430\u0431\u043b\u0438\u0446\u0435\u2026 \u0438 \u0435\u0441\u043b\u0438 \u0440\u0435\u0447\u044c \u0438\u0434\u0435\u0442 \u043e \u043f\u0440\u043e\u0434\u0430\u043a\u0448\u0435\u043d\u0435, \u0442\u043e \u044f \u0431\u044b \u043d\u0435 \u0441\u0442\u0430\u043b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u044d\u0442\u0443 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u044e \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0445 \u0431\u0430\u0437.<\/p>\n<p>  \u0414\u0440\u0443\u0433\u043e\u0435 \u0434\u0435\u043b\u043e \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043e\u043f\u0446\u0438\u044e <a href=\"https:\/\/msdn.microsoft.com\/en-us\/library\/dn449490.aspx\" rel=\"nofollow noopener noreferrer\">Delayed Durability<\/a>, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043d\u0435 \u0441\u0431\u0440\u0430\u0441\u044b\u0432\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 \u0444\u0430\u0439\u043b \u043b\u043e\u0433\u0430 \u0441\u0440\u0430\u0437\u0443 \u043f\u0440\u0438 \u043a\u043e\u043c\u043c\u0438\u0442\u0435 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438, \u0430 \u0436\u0434\u0430\u0442\u044c \u043f\u043e\u043a\u0430 \u043d\u0430\u043a\u043e\u043f\u0438\u0442\u0441\u044f 60\u041a\u0431 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439. \u0421\u0434\u0435\u043b\u0430\u0442\u044c \u044d\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0444\u043e\u0440\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u0432\u0441\u0435\u0445 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0439 \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u043e\u0439 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445:<\/p>\n<pre>ALTER DATABASE TT SET DELAYED_DURABILITY = FORCED<\/pre>\n<p>  \u0438\u043b\u0438 \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439:<\/p>\n<pre> ALTER DATABASE TT SET DELAYED_DURABILITY = ALLOWED GO  BEGIN TRANSACTION t ... COMMIT TRANSACTION t WITH (DELAYED_DURABILITY = ON) <\/pre>\n<p>  \u041f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u043e \u043e\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u044d\u0442\u043e\u0439 \u043e\u043f\u0446\u0438\u0438 \u043d\u0430\u0433\u043b\u044f\u0434\u043d\u043e \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u043e \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 T4_CL_DD (\u0432\u044b\u0438\u0433\u0440\u044b\u0448 \u0432 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 \u0432 2,5 \u0440\u0430\u0437\u0430 \u043f\u043e \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044e \u0441 T1_CL). \u0415\u0441\u0442\u044c, \u043a\u043e\u043d\u0435\u0447\u043d\u043e, \u0438 \u043c\u0438\u043d\u0443\u0441\u044b \u043e\u0442 \u044d\u0442\u043e\u0439 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043e\u043f\u0446\u0438\u0438, \u043a\u043e\u0433\u0434\u0430 \u043f\u0440\u0438 \u0443\u0434\u0430\u0447\u043d\u043e\u043c \u0441\u0442\u0435\u0447\u0435\u043d\u0438\u0438 \u043e\u0431\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u0441\u0442\u0432 (\u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u0441\u0431\u043e\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0438\u043b\u0438 \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0441\u0432\u0435\u0442\u0430) \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0442\u0435\u0440\u044f\u0442\u044c \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e 60\u041a\u0431 \u0434\u0430\u043d\u043d\u044b\u0445.<\/p>\n<p>  \u0414\u0443\u043c\u0430\u044e, \u0447\u0442\u043e \u0442\u0443\u0442 \u043d\u0435 \u0441\u0442\u043e\u0438\u0442 \u043d\u0430\u0432\u044f\u0437\u044b\u0432\u0430\u0442\u044c \u0441\u0432\u043e\u0435\u0433\u043e \u043c\u043d\u0435\u043d\u0438\u044f, \u0432\u0435\u0434\u044c \u0432 \u043a\u0430\u0436\u0434\u043e\u0439 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0438 \u043d\u0443\u0436\u043d\u043e \u0432\u0437\u0432\u0435\u0441\u0438\u0442\u044c \u0432\u0441\u0435 \u0437\u0430 \u0438 \u043f\u0440\u043e\u0442\u0438\u0432, \u043d\u043e \u043e\u0442 \u0441\u0435\u0431\u044f \u0434\u043e\u0431\u0430\u0432\u043b\u044e, \u0447\u0442\u043e \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 Delayed Durability \u043c\u0435\u043d\u044f \u0441\u043f\u0430\u0441\u0430\u043b\u043e \u043d\u0435 \u043e\u0434\u0438\u043d \u0440\u0430\u0437, \u043a\u043e\u0433\u0434\u0430 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043b\u043e\u0441\u044c \u0441\u0440\u043e\u0447\u043d\u043e \u0440\u0430\u0437\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0434\u0438\u0441\u043a\u043e\u0432\u0443\u044e \u043f\u043e\u0434\u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u043f\u0440\u0438 OLTP \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0435.<\/p>\n<p>  \u0418 \u0432\u043e\u0442 \u043c\u044b \u043f\u0440\u0438\u0448\u043b\u0438 \u043a \u0441\u0430\u043c\u043e\u043c\u0443 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u043c\u0443 \u2013 \u043a\u0430\u043a \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u0443\u0441\u043a\u043e\u0440\u0438\u0442\u044c OLTP \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438? \u041e\u0442\u0432\u0435\u0442 \u043a\u0440\u043e\u0435\u0442\u0441\u044f \u0432 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 In-Memory \u0442\u0430\u0431\u043b\u0438\u0446. \u0414\u043e \u044d\u0442\u043e\u0433\u043e \u044f \u0438\u0445 \u0438\u0437\u0440\u044f\u0434\u043d\u043e \u043a\u0440\u0438\u0442\u0438\u043a\u043e\u0432\u0430\u043b, \u043d\u043e \u0432\u0441\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0441 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c\u044e \u043e\u0442\u043d\u043e\u0441\u044f\u0442\u0441\u044f \u043b\u0438\u0448\u044c \u043a \u0442\u0430\u0431\u043b\u0438\u0446\u0430\u043c, \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u044b\u043c \u043a\u0430\u043a SCHEMA_AND_DATA (\u043a\u043e\u0433\u0434\u0430 \u0434\u0430\u043d\u043d\u044b\u0435 \u0445\u0440\u0430\u043d\u044f\u0442\u0441\u044f \u0438 \u0432 \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438, \u0438 \u043d\u0430 \u0434\u0438\u0441\u043a\u0435). \u041d\u043e \u0435\u0441\u043b\u0438 \u0441\u043e\u0437\u0434\u0430\u0442\u044c In-Memory \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u0441 \u043e\u043f\u0446\u0438\u0435\u0439 SCHEMA_ONLY, \u0442\u043e \u0434\u0430\u043d\u043d\u044b\u0435 \u0431\u0443\u0434\u0443\u0442 \u0445\u0440\u0430\u043d\u0438\u0442\u044c\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u041e\u0417\u0423\u2026 \u043a\u0430\u043a \u043c\u0438\u043d\u0443\u0441 \u2013 \u043f\u0440\u0438 \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0435 \u0441\u0438\u043a\u0432\u0435\u043b\u0430 \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 \u0442\u0430\u043a\u0438\u0445 \u0442\u0430\u0431\u043b\u0438\u0446\u0430\u0445 \u0431\u0443\u0434\u0443\u0442 \u0442\u0435\u0440\u044f\u0442\u044c\u0441\u044f. \u041f\u043b\u044e\u0441 \u0436\u0435 \u2013 \u044d\u0442\u043e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0443\u0441\u043a\u043e\u0440\u0438\u0442\u044c \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 4 \u0440\u0430\u0437\u0430 \u043f\u043e \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044e \u0441 \u043e\u0431\u044b\u0447\u043d\u044b\u043c\u0438 \u0442\u0430\u0431\u043b\u0438\u0446\u0430\u043c\u0438 (T8_MEM_SO\/T8_MEM_SO_NC).<\/p>\n<p>  \u041c\u043e\u0439 \u0440\u0430\u0431\u043e\u0447\u0438\u0439 \u043a\u0435\u0439\u0441 \u2013 \u0441\u043e\u0437\u0434\u0430\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u0447\u043d\u0430\u044f \u0431\u0430\u0437\u0430, \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0435\u0441\u0442\u044c In-Memory SCHEMA_ONLY \u0442\u0430\u0431\u043b\u0438\u0446\u0430 (\u0432\u0441\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u043d\u0430\u0434 \u043d\u0435\u0439 \u043e\u0431\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u0435\u043c \u0432 Native Compile \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u044b), \u0437\u0430\u043f\u0438\u0441\u0438 \u043d\u0435\u043f\u0440\u0435\u0440\u044b\u0432\u043d\u043e \u0432 \u043d\u0435\u0435 \u043b\u044c\u044e\u0442\u0441\u044f \u0441 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c\u044e, \u0430 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u043c \u043f\u043e\u0442\u043e\u043a\u043e\u043c \u043c\u044b \u0438\u0445 \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u043c \u0431\u043e\u043b\u0435\u0435 \u0431\u043e\u043b\u044c\u0448\u0438\u043c\u0438 \u043f\u043e\u0440\u0446\u0438\u044f\u043c\u0438 \u0432 \u043e\u0441\u043d\u043e\u0432\u043d\u0443\u044e \u0431\u0430\u0437\u0443 \u0434\u043b\u044f \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e\u0433\u043e \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f. \u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, In-Memory \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0441 SCHEMA_ONLY \u043e\u0442\u043b\u0438\u0447\u043d\u043e \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0442 \u0434\u043b\u044f ETL \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0432 \u0432\u0438\u0434\u0435 \u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u0447\u043d\u043e\u0433\u043e \u0431\u0443\u0444\u0435\u0440\u0430, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043d\u0435 \u043e\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0442 \u043d\u0438\u043a\u0430\u043a\u043e\u0439 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u043d\u0430 \u0434\u0438\u0441\u043a\u043e\u0432\u0443\u044e \u043f\u043e\u0434\u0441\u0438\u0441\u0442\u0435\u043c\u0443.<\/p>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u043f\u0435\u0440\u0435\u0439\u0434\u0435\u043c \u043a DW \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0435, \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0445\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u043d\u044b \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u0441 \u0432\u044b\u0433\u0440\u0435\u0431\u0430\u043d\u0438\u0435\u043c \u043e\u0431\u044a\u0451\u043c\u043d\u044b\u0445 \u043a\u0443\u0441\u043a\u043e\u0432 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438.<\/p>\n<p>  \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0442\u0430\u0431\u043b\u0438\u0446 \u0441 \u0440\u0430\u0437\u043d\u044b\u043c\u0438 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0430\u043c\u0438 \u0441\u0436\u0430\u0442\u0438\u044f \u0438 \u043f\u043e\u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0438\u0440\u0443\u0435\u043c \u0441 \u043d\u0438\u043c\u0438:<\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">\u0421\u043a\u0440\u0438\u043f\u0442 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0431\u0430\u0437\u044b<\/b>                         <\/p>\n<div class=\"spoiler_text\">\n<pre> USE [master] GO  SET NOCOUNT ON SET STATISTICS IO, TIME OFF  IF DB_ID('express') IS NOT NULL BEGIN     ALTER DATABASE [express] SET SINGLE_USER WITH ROLLBACK IMMEDIATE     DROP DATABASE [express] END GO  CREATE DATABASE [express] ON PRIMARY (NAME = N'express', FILENAME = N'X:\\express.mdf', SIZE = 200 MB, FILEGROWTH = 100 MB)     LOG ON (NAME = N'express_log', FILENAME = N'X:\\express_log.ldf', SIZE = 200 MB, FILEGROWTH = 100 MB)  ALTER DATABASE [express] SET AUTO_CLOSE OFF ALTER DATABASE [express] SET RECOVERY SIMPLE ALTER DATABASE [express] SET DELAYED_DURABILITY = FORCED GO  USE [express] GO  DROP TABLE IF EXISTS [T1_HEAP] CREATE TABLE [T1_HEAP] (       [INT]      INT NOT NULL     , [VARCHAR]  VARCHAR(100) NOT NULL     , [DATETIME] DATETIME NOT NULL ) GO  ;WITH E1(N) AS (SELECT * FROM (VALUES (1),(1),(1),(1),(1),(1),(1),(1),(1),(1)) t(N))     , E2(N) AS (SELECT '1' FROM E1 a, E1 b)     , E4(N) AS (SELECT '1' FROM E2 a, E2 b)     , E8(N) AS (SELECT '1' FROM E4 a, E4 b) INSERT INTO [T1_HEAP] WITH(TABLOCK) ([INT], [VARCHAR], [DATETIME]) SELECT TOP(5000000)       ROW_NUMBER() OVER (ORDER BY 1\/0)     , CAST(ROW_NUMBER() OVER (ORDER BY 1\/0) AS VARCHAR(100))     , DATEADD(DAY, ROW_NUMBER() OVER (ORDER BY 1\/0) % 100, '20180101') FROM E8 GO  DROP TABLE IF EXISTS [T2_CL] SELECT * INTO [T2_CL] FROM [T1_HEAP] WHERE 1=0 CREATE CLUSTERED INDEX IX ON [T2_CL] ([INT]) WITH (DATA_COMPRESSION = NONE)  INSERT INTO [T2_CL] WITH(TABLOCK) SELECT * FROM [T1_HEAP] GO  DROP TABLE IF EXISTS [T3_CL_ROW] SELECT * INTO [T3_CL_ROW] FROM [T2_CL] WHERE 1=0 CREATE CLUSTERED INDEX IX ON [T3_CL_ROW] ([INT]) WITH (DATA_COMPRESSION = ROW)  INSERT INTO [T3_CL_ROW] WITH(TABLOCK) SELECT * FROM [T2_CL] GO  DROP TABLE IF EXISTS [T4_CL_PAGE] SELECT * INTO [T4_CL_PAGE] FROM [T2_CL] WHERE 1=0 CREATE CLUSTERED INDEX IX ON [T4_CL_PAGE] ([INT]) WITH (DATA_COMPRESSION = PAGE)  INSERT INTO [T4_CL_PAGE] WITH(TABLOCK) SELECT * FROM [T2_CL] GO  DROP TABLE IF EXISTS [T5_CCI] SELECT * INTO [T5_CCI] FROM [T2_CL] WHERE 1=0 CREATE CLUSTERED COLUMNSTORE INDEX IX ON [T5_CCI] WITH (DATA_COMPRESSION = COLUMNSTORE)  INSERT INTO [T5_CCI] WITH(TABLOCK) SELECT * FROM [T2_CL] GO  DROP TABLE IF EXISTS [T6_CCI_ARCHIVE] SELECT * INTO [T6_CCI_ARCHIVE] FROM [T2_CL] WHERE 1=0 CREATE CLUSTERED COLUMNSTORE INDEX IX ON [T6_CCI_ARCHIVE] WITH (DATA_COMPRESSION = COLUMNSTORE_ARCHIVE)  INSERT INTO [T6_CCI_ARCHIVE] WITH(TABLOCK) SELECT * FROM [T2_CL] GO <\/pre>\n<p>  <\/div>\n<\/p><\/div>\n<p>  \u041f\u0435\u0440\u0432\u043e\u0435, \u043d\u0430 \u0447\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u043e\u0431\u0440\u0430\u0442\u0438\u0442\u044c \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u2013 \u044d\u0442\u043e \u0438\u0442\u043e\u0433\u043e\u0432\u044b\u0439 \u0440\u0430\u0437\u043c\u0435\u0440 \u0442\u0430\u0431\u043b\u0438\u0446:<\/p>\n<pre> SELECT o.[name]      , i.[rows]      , i.[type_desc]      , total_mb = CAST(i.total_pages * 8. \/ 1024 AS DECIMAL(18,2)) FROM sys.objects o JOIN (     SELECT i.[object_id]          , a.[type_desc]          , total_pages = SUM(a.total_pages)          , [rows] = SUM(CASE WHEN i.index_id IN (0,1) THEN p.[rows] END)     FROM sys.indexes i     JOIN sys.partitions p ON i.[object_id] = p.[object_id] AND i.index_id = p.index_id     JOIN sys.allocation_units a ON p.[partition_id] = a.container_id     WHERE a.total_pages &gt; 0     GROUP BY i.[object_id]            , a.[type_desc] ) i ON o.[object_id] = i.[object_id] WHERE o.[type] = 'U' <\/pre>\n<p>  \u0417\u0430 \u0441\u0447\u0435\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043d\u0430 Express Edition \u0441\u0436\u0430\u0442\u0438\u044f \u0438 Column-store \u0438\u043d\u0434\u0435\u043a\u0441\u043e\u0432 \u043f\u043e\u044f\u0432\u0438\u043b\u043e\u0441\u044c \u043a\u0443\u0447\u0430 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u0432, \u043a\u043e\u0433\u0434\u0430 \u043c\u043e\u0436\u043d\u043e \u0431\u0435\u0437 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0439 \u043f\u043e\u0442\u0435\u0440\u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0435 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u043d\u044b\u0445 10\u0413\u0431 \u0434\u043b\u044f \u0444\u0430\u0439\u043b\u0430 \u0434\u0430\u043d\u043d\u044b\u0445:<\/p>\n<pre>                 rows     type_desc    total_mb --------------- -------- ------------ --------- T1_HEAP         5000000  IN_ROW_DATA  153.38    T2_CL           5000000  IN_ROW_DATA  163.45    T3_CL_ROW       5000000  IN_ROW_DATA  110.13    T4_CL_PAGE      5000000  IN_ROW_DATA  72.63     T5_CCI          5000000  LOB_DATA     81.20     T6_CCI_ARCHIVE  5000000  LOB_DATA     41.13     <\/pre>\n<p>  \u0415\u0441\u043b\u0438 \u0437\u0430\u0432\u043e\u0434\u0438\u0442\u044c \u0440\u0430\u0437\u0433\u043e\u0432\u043e\u0440 \u043e \u043a\u043e\u043c\u043f\u0440\u0435\u0441\u0441\u0438\u0438 \u0434\u0430\u043d\u043d\u044b\u0445, \u0442\u043e ROW \u0441\u0436\u0430\u0442\u0438\u0435 \u0443\u0441\u0435\u043a\u0430\u0435\u0442 \u0431\u0435\u0437 \u043f\u043e\u0442\u0435\u0440\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0434\u043e \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0433\u043e \u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u0442\u0438\u043f\u0430, PAGE \u2013 \u043f\u043e\u0432\u0435\u0440\u0445 ROW \u0435\u0449\u0435 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0441\u0436\u0438\u043c\u0430\u0435\u0442 \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 \u0431\u0438\u043d\u0430\u0440\u043d\u043e\u043c \u0432\u0438\u0434\u0435 \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b. \u0412 \u0442\u0430\u043a\u043e\u043c \u0432\u0438\u0434\u0435 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b \u0445\u0440\u0430\u043d\u044f\u0442\u0441\u044f \u043a\u0430\u043a \u043d\u0430 \u0434\u0438\u0441\u043a\u0435, \u0442\u0430\u043a \u0438 \u0432 Buffer Pool-\u0435 \u0438 \u043b\u0438\u0448\u044c \u0432 \u043c\u043e\u043c\u0435\u043d\u0442 \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0433\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u0434\u0430\u043d\u043d\u044b\u043c \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0434\u0435\u043a\u043e\u043c\u043f\u0440\u0435\u0441\u0441\u0438\u044f \u043d\u0430 \u043b\u0435\u0442\u0443.<\/p>\n<p>  \u041d\u0435\u0441\u043e\u043c\u043d\u0435\u043d\u043d\u044b\u0439 \u043f\u043b\u044e\u0441 \u043e\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0441\u0436\u0430\u0442\u0438\u044f \u043f\u0440\u043e\u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0432 \u0441\u043d\u0438\u0436\u0435\u043d\u0438\u0438 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439 \u0447\u0442\u0435\u043d\u0438\u044f \u0441 \u0434\u0438\u0441\u043a\u0430 \u0438 \u043c\u0435\u043d\u044c\u0448\u0435\u043c \u043e\u0431\u044a\u0451\u043c\u0435 Buffer Pool \u0437\u0430\u0434\u0435\u0439\u0441\u0442\u0432\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u043f\u043e\u0434 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u2013 \u044d\u0442\u043e \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u043e \u0435\u0441\u043b\u0438 \u0443 \u043d\u0430\u0441 \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u044b\u0439 \u0434\u0438\u0441\u043a, \u043c\u0430\u043b\u043e \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438 \u0438 \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u0435\u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u044b\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440. \u041e\u0431\u0440\u0430\u0442\u043d\u0430\u044f \u0441\u0442\u043e\u0440\u043e\u043d\u0430 \u043c\u0435\u0434\u0430\u043b\u0438 \u043e\u0442 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0441\u0436\u0430\u0442\u0438\u044f \u2013 \u044d\u0442\u043e \u043b\u0438\u0448\u043d\u044f\u044f \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u043d\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440, \u043d\u043e \u043d\u0435 \u0442\u0430\u043a\u0430\u044f \u043a\u0440\u0438\u0442\u0438\u0447\u043d\u0430\u044f, \u0447\u0442\u043e\u0431\u044b \u0432\u043e\u043e\u0431\u0449\u0435 \u0438\u0433\u043d\u043e\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u00ab\u043a\u0430\u043a \u043f\u0440\u043e\u043a\u0430\u0436\u0435\u043d\u043d\u043e\u0433\u043e\u00bb \u0434\u0430\u043d\u043d\u044b\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b \u043b\u044e\u0431\u0435\u0437\u043d\u043e \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0439 \u041c\u0430\u0439\u043a\u0440\u043e\u0441\u043e\u0444\u0442.<\/p>\n<p>  \u041e\u0447\u0435\u043d\u044c \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f Column-store \u0438\u043d\u0434\u0435\u043a\u0441\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0442 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0441\u0436\u0438\u043c\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u0438 \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432. \u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u043a\u0440\u0430\u0442\u043a\u043e \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u043a\u0430\u043a \u043e\u043d\u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442\u2026 \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u044d\u0442\u043e \u043a\u043e\u043b\u043e\u043d\u043e\u0447\u043d\u0430\u044f \u043c\u043e\u0434\u0435\u043b\u044c \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438, \u0442\u043e \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0435 \u0440\u0430\u0437\u0431\u0438\u0432\u0430\u044e\u0442\u0441\u044f RowGroup \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0432 \u043c\u0438\u043b\u043b\u0438\u043e\u043d \u0441\u0442\u0440\u043e\u043a (\u0438\u0442\u043e\u0433\u043e\u0432\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043c\u043e\u0436\u0435\u0442 \u043e\u0442\u043b\u0438\u0447\u0430\u0442\u044c\u0441\u044f \u043e\u0442 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u0434\u0430\u043d\u043d\u044b\u0435 \u0432\u0441\u0442\u0430\u0432\u043b\u044f\u043b\u0438\u0441\u044c \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0443), \u0434\u0430\u043b\u0435\u0435 \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 RowGroup \u043a\u0430\u0436\u0434\u044b\u0439 \u0438\u0437 \u0441\u0442\u043e\u043b\u0431\u0446\u043e\u0432 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0432 \u0432\u0438\u0434\u0435 \u0441\u0435\u0433\u043c\u0435\u043d\u0442\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u0436\u0438\u043c\u0430\u0435\u0442\u0441\u044f \u0432 LOB \u043e\u0431\u044a\u0435\u043a\u0442 \u0441\u043e \u0441\u0432\u043e\u0435\u0439 \u043c\u0435\u0442\u0430\u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0435\u0439 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0445\u0440\u0430\u043d\u0438\u0442 \u0432 \u0441\u0435\u0431\u0435 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u0438 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 \u0441\u0436\u0430\u0442\u043e\u0439 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438).<\/p>\n<p>  \u0412 \u043e\u0442\u043b\u0438\u0447\u0438\u0438 \u043e\u0442 PAGE\/ROW \u0441\u0436\u0430\u0442\u0438\u044f, Column-store \u0438\u043d\u0434\u0435\u043a\u0441\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b \u043a\u043e\u043c\u043f\u0440\u0435\u0441\u0441\u0438\u0438 \u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u0442\u0438\u043f\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0446\u0435\u043b\u0435\u0432\u043e\u0433\u043e \u0441\u0442\u043e\u043b\u0431\u0446\u0430 \u2013 \u044d\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0443\u0441\u0435\u0447\u0435\u043d\u0438\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f (Value Scale), \u0441\u0436\u0430\u0442\u0438\u0435 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u0441\u043b\u043e\u0432\u0430\u0440\u044f, \u0431\u0438\u0442\u043e\u0432\u044b\u0435 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f (Bit-Array Packing) \u0438 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u0434\u0440\u0443\u0433\u0438\u0435 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b (Run Length, Huffman Encoding, Binary Compression, LZ77). \u041a\u0430\u043a \u0438\u0442\u043e\u0433 \u043c\u044b \u0438\u043c\u0435\u0435\u043c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0431\u043e\u043b\u0435\u0435 \u043e\u043f\u0442\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u0441\u0436\u0438\u043c\u0430\u0442\u044c \u043a\u0430\u0436\u0434\u044b\u0439 \u0438\u0437 \u0441\u0442\u043e\u043b\u0431\u0446\u043e\u0432.<\/p>\n<p>  \u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c, \u043a\u0430\u043a \u0441\u0436\u0430\u0442\u044b \u0442\u0435 \u0438\u043b\u0438 \u0438\u043d\u044b\u0435 RowGroup \u043c\u043e\u0436\u043d\u043e \u044d\u0442\u0438\u043c \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u043c:<\/p>\n<pre> SELECT o.[name]      , row_group_id      , state_description      , total_rows      , size_mb = CAST(size_in_bytes \/ (1024. * 1024) AS DECIMAL(18,2))      , total_mb = CAST(SUM(size_in_bytes) OVER (PARTITION BY i.[object_id]) \/ 8192 * 8. \/ 1024 AS DECIMAL(18,2)) FROM sys.indexes i JOIN sys.objects o ON i.[object_id] = o.[object_id] CROSS APPLY sys.fn_column_store_row_groups(i.[object_id]) s WHERE i.[type] IN (5, 6)     AND i.[object_id] = OBJECT_ID('T5_CCI') ORDER BY i.[object_id]        , s.row_group_id <\/pre>\n<p>  <\/p>\n<pre> row_group_id  state_description  total_rows  deleted_rows  size_mb  total_mb ------------- ------------------ ----------- ------------- -------- --------- 0             COMPRESSED         593581      0             3.78     31.80 1             COMPRESSED         595539      0             3.79     31.80 2             COMPRESSED         595539      0             3.79     31.80 3             COMPRESSED         599030      0             3.81     31.80 4             COMPRESSED         595539      0             3.79     31.80 5             COMPRESSED         686243      0             4.37     31.80 6             COMPRESSED         595539      0             3.79     31.80 7             COMPRESSED         738990      0             4.70     31.80 <\/pre>\n<p>  \u041e\u0442\u043c\u0435\u0442\u0438\u043c \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u043d\u044e\u0430\u043d\u0441, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043e\u0436\u0435\u0442 \u0441\u0438\u043b\u044c\u043d\u043e \u043f\u043e\u0432\u043b\u0438\u044f\u0442\u044c \u043d\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f Column-store \u0438\u043d\u0434\u0435\u043a\u0441\u043e\u0432 \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043a Express Edition. \u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0441\u0435\u0433\u043c\u0435\u043d\u0442\u044b \u0438 \u0441\u043b\u043e\u0432\u0430\u0440\u0438 (\u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0434\u0435\u043a\u043e\u043c\u043f\u0440\u0435\u0441\u0441\u0438\u044f) \u0445\u0440\u0430\u043d\u044f\u0442\u0441\u044f \u0432 \u0440\u0430\u0437\u043d\u044b\u0445 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430\u0445 \u043d\u0430 \u0434\u0438\u0441\u043a\u0435, \u0442\u043e \u043a\u0440\u0430\u0439\u043d\u0435 \u0432\u0430\u0436\u043d\u043e \u0447\u0442\u043e\u0431\u044b \u0440\u0430\u0437\u043c\u0435\u0440 \u0432\u0441\u0435\u0445 \u043d\u0430\u0448\u0438\u0445 \u0441\u043b\u043e\u0432\u0430\u0440\u0435\u0439 \u0443\u043c\u0435\u0449\u0430\u043b\u0441\u044f \u0432 \u043f\u0430\u043c\u044f\u0442\u0438 (\u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043d\u0430 Express Edition \u043e\u0442\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u043d\u0435 \u0431\u043e\u043b\u0435\u0435 350 \u043c\u0435\u0442\u0440\u043e\u0432):<\/p>\n<pre> SELECT [column] = COL_NAME(p.[object_id], s.column_id)      , s.dictionary_id      , s.entry_count      , size_mb = CAST(s.on_disk_size \/ (1024. * 1024) AS DECIMAL(18,2))      , total_mb = CAST(SUM(s.on_disk_size) OVER () \/ 8192 * 8. \/ 1024 AS DECIMAL(18,2)) FROM sys.column_store_dictionaries s JOIN sys.partitions p ON p.hobt_id = s.hobt_id WHERE p.[object_id] = OBJECT_ID('T5_CCI') <\/pre>\n<p>  <\/p>\n<pre> column     dictionary_id entry_count  size_mb  total_mb ---------- ------------- ------------ -------- ---------- VARCHAR    1             593581       6.39     53.68 VARCHAR    2             738990       7.98     53.68 VARCHAR    3             686243       7.38     53.68 VARCHAR    4             595539       6.37     53.68 VARCHAR    5             595539       6.39     53.68 VARCHAR    6             595539       6.38     53.68 VARCHAR    7             595539       6.39     53.68 VARCHAR    8             599030       6.40     53.68 DATETIME   1             100          0.00     53.68 DATETIME   2             100          0.00     53.68 DATETIME   3             100          0.00     53.68 DATETIME   4             100          0.00     53.68 DATETIME   5             100          0.00     53.68 DATETIME   6             100          0.00     53.68 DATETIME   7             100          0.00     53.68 DATETIME   8             100          0.00     53.68 <\/pre>\n<p>  \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u0441\u0435\u0433\u043c\u0435\u043d\u0442\u044b \u043c\u043e\u0433\u0443\u0442 \u043f\u043e\u0434\u0433\u0440\u0443\u0436\u0430\u0442\u044c\u0441\u044f \u0441 \u0434\u0438\u0441\u043a\u0430 \u043f\u043e \u043c\u0435\u0440\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u0438 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043d\u0435 \u0432\u043b\u0438\u044f\u044e\u0442 \u043d\u0430 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0443 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430:<\/p>\n<pre> SELECT [column] = COL_NAME(p.[object_id], s.column_id)      , s.segment_id      , s.row_count      , CAST(s.on_disk_size \/ (1024. * 1024) AS DECIMAL(18,2)) FROM sys.column_store_segments s JOIN sys.partitions p ON p.hobt_id = s.hobt_id WHERE p.[object_id] = OBJECT_ID('T5_CCI') <\/pre>\n<p>  <\/p>\n<pre> column     segment_id  row_count   size_mb  total_mb ---------- ----------- ----------- -------- --------- INT        0           593581      2.26     31.80 INT        1           595539      2.27     31.80 INT        2           595539      2.27     31.80 INT        3           599030      2.29     31.80 INT        4           595539      2.27     31.80 INT        5           686243      2.62     31.80 INT        6           595539      2.27     31.80 INT        7           738990      2.82     31.80 VARCHAR    0           593581      1.51     31.80 VARCHAR    1           595539      1.52     31.80 VARCHAR    2           595539      1.52     31.80 VARCHAR    3           599030      1.52     31.80 VARCHAR    4           595539      1.52     31.80 VARCHAR    5           686243      1.75     31.80 VARCHAR    6           595539      1.52     31.80 VARCHAR    7           738990      1.88     31.80 DATETIME   0           593581      0.01     31.80 DATETIME   1           595539      0.01     31.80 DATETIME   2           595539      0.01     31.80 DATETIME   3           599030      0.01     31.80 DATETIME   4           595539      0.01     31.80 DATETIME   5           686243      0.01     31.80 DATETIME   6           595539      0.01     31.80 DATETIME   7           738990      0.01     31.80 <\/pre>\n<p>  \u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u0447\u0435\u043c \u043c\u0435\u043d\u044c\u0448\u0435 \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u0445 \u0437\u0430\u043f\u0438\u0441\u0435\u0439 \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 \u0441\u0435\u0433\u043c\u0435\u043d\u0442\u0430 RowGroup-\u044b, \u0442\u043e \u0442\u0435\u043c \u043c\u0435\u043d\u044c\u0448\u0435 \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0437\u043c\u0435\u0440 \u0441\u043b\u043e\u0432\u0430\u0440\u044f. \u0421\u0435\u043a\u0446\u0438\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 Column-store \u0438 \u0432\u0441\u0442\u0430\u0432\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u043d\u0443\u0436\u043d\u0443\u044e \u0441\u0435\u043a\u0446\u0438\u044e \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 \u0445\u0438\u043d\u0442\u043e\u043c TABLOCK \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u0442 \u043f\u043e \u0438\u0442\u043e\u0433\u0443 \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u0431\u043e\u043b\u0435\u0435 \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0438\u0435 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0435 \u0441\u043b\u043e\u0432\u0430\u0440\u0438, \u0430 \u0437\u043d\u0430\u0447\u0438\u0442 \u044d\u0442\u043e \u0441\u043d\u0438\u0437\u0438\u0442 \u043d\u0430\u043a\u043b\u0430\u0434\u043d\u044b\u0435 \u0440\u0430\u0441\u0445\u043e\u0434\u044b \u043d\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043a\u043e\u043b\u043e\u043d\u043e\u0447\u043d\u044b\u0445 \u0438\u043d\u0434\u0435\u043a\u0441\u043e\u0432. \u0412\u043e\u043e\u0431\u0449\u0435-\u0442\u043e \u0441\u0430\u043c\u044b\u0439 \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438 \u0441\u043b\u043e\u0432\u0430\u0440\u0435\u0439 \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0432 \u0441\u0430\u043c\u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u2013 \u0447\u0435\u043c \u043c\u0435\u043d\u044c\u0448\u0435 \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 \u0441\u0442\u043e\u043b\u0431\u0446\u0430, \u0442\u0435\u043c \u043b\u0443\u0447\u0448\u0435 (\u044d\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 DATETIME).<\/p>\n<p>  \u0417\u0430 \u0441\u0447\u0435\u0442 \u043a\u043e\u043b\u043e\u043d\u043e\u0447\u043d\u043e\u0439 \u043c\u043e\u0434\u0435\u043b\u0438 \u0432\u044b\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u044c\u0441\u044f \u0431\u0443\u0434\u0443\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u0435 \u0441\u0442\u043e\u043b\u0431\u0446\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u044b \u0437\u0430\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0435\u043c, \u0430 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0444\u0438\u043b\u044c\u0442\u0440\u044b \u043c\u043e\u0433\u0443\u0442 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u0432\u0430\u0442\u044c \u0432\u044b\u0447\u0438\u0442\u043a\u0443 RowGroup \u0437\u0430 \u0441\u0447\u0435\u0442 \u0443\u043f\u043e\u043c\u044f\u043d\u0443\u0442\u043e\u0439 \u0432\u044b\u0448\u0435 \u043c\u0435\u0442\u0430\u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438. \u041f\u043e \u0438\u0442\u043e\u0433\u0443 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f \u043d\u0435\u043a\u0438\u0439 \u0430\u043d\u0430\u043b\u043e\u0433 \u043f\u0441\u0435\u0432\u0434\u043e-\u0438\u043d\u0434\u0435\u043a\u0441\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0435\u0441\u0442\u044c \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u043d\u0430 \u0432\u0441\u0435\u0445 \u043a\u043e\u043b\u043e\u043d\u043a\u0430\u0445, \u0430 \u044d\u0442\u043e \u0434\u0430\u0435\u0442 \u043d\u0430\u043c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043e\u0447\u0435\u043d\u044c \u0431\u044b\u0441\u0442\u0440\u043e \u0430\u0433\u0440\u0435\u0433\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438 \u0444\u0438\u043b\u044c\u0442\u0440\u043e\u0432\u0430\u0442\u044c\u2026 \u043e\u043f\u044f\u0442\u044c \u0436\u0435 \u0441\u043e \u0441\u0432\u043e\u0438\u043c\u0438 \u043d\u044e\u0430\u043d\u0441\u0430\u043c\u0438.<\/p>\n<p>  \u0420\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u0438\u043c\u0435\u0440\u043e\u0432, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u0430 \u043a\u043e\u043b\u043e\u043d\u043e\u0447\u043d\u044b\u0445 \u0438\u043d\u0434\u0435\u043a\u0441\u043e\u0432:<\/p>\n<pre> DBCC DROPCLEANBUFFERS SET STATISTICS IO, TIME ON  SELECT COUNT(*), MIN([DATETIME]), MAX([INT]) FROM [T1_HEAP] SELECT COUNT(*), MIN([DATETIME]), MAX([INT]) FROM [T2_CL] SELECT COUNT(*), MIN([DATETIME]), MAX([INT]) FROM [T3_CL_ROW] SELECT COUNT(*), MIN([DATETIME]), MAX([INT]) FROM [T4_CL_PAGE] SELECT COUNT(*), MIN([DATETIME]), MAX([INT]) FROM [T5_CCI] SELECT COUNT(*), MIN([DATETIME]), MAX([INT]) FROM [T6_CCI_ARCHIVE]  SET STATISTICS IO, TIME OFF <\/pre>\n<p>  \u041a\u0430\u043a \u0433\u043e\u0432\u043e\u0440\u0438\u0442\u044c\u0441\u044f \u043f\u043e\u0447\u0443\u0432\u0441\u0442\u0432\u0443\u0439 \u0440\u0430\u0437\u043d\u0438\u0446\u0443: <\/p>\n<pre> Table 'T1_HEAP'. Scan count 1, logical reads 19633, ...   CPU time = 391 ms, elapsed time = 400 ms.  Table 'T2_CL'. Scan count 1, logical reads 20911, ...   CPU time = 312 ms, elapsed time = 391 ms.  Table 'T3_CL_ROW'. Scan count 1, logical reads 14093, ...   CPU time = 485 ms, elapsed time = 580 ms.  Table 'T4_CL_PAGE'. Scan count 1, logical reads 9286, ...   CPU time = 828 ms, elapsed time = 1000 ms.  Table 'T5_CCI'. Scan count 1, ..., lob logical reads 5122, ...   CPU time = 8 ms, elapsed time = 14 ms.  Table 'T6_CCI_ARCHIVE'. Scan count 1, ..., lob logical reads 2576, ...   CPU time = 78 ms, elapsed time = 74 ms. <\/pre>\n<p>  \u041f\u043e \u043f\u0440\u0438 \u0444\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u0438 \u043c\u043e\u0433\u0443\u0442 \u0432\u044b\u043b\u0430\u0437\u0438\u0442\u044c \u043d\u0435 \u0441\u0438\u043b\u044c\u043d\u043e \u0445\u043e\u0440\u043e\u0448\u0438\u0435 \u043d\u044e\u0430\u043d\u0441\u044b:<\/p>\n<pre> DBCC DROPCLEANBUFFERS SET STATISTICS IO, TIME ON  SELECT * FROM [T5_CCI] WHERE [INT] = 1 SELECT * FROM [T5_CCI] WHERE [DATETIME] = GETDATE() SELECT * FROM [T5_CCI] WHERE [VARCHAR] = '1'  SET STATISTICS IO, TIME OFF <\/pre>\n<p>  \u0418 \u0432\u0441\u0435 \u0434\u0435\u043b\u043e \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u0434\u043b\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0445 \u0442\u0438\u043f\u043e\u0432 \u0434\u0430\u043d\u043d\u044b\u0445 (NUMERIC, DATETIMEOFFSET, [N]CHAR, [N]VARCHAR, VARBINARY, UNIQUEIDENTIFIER, XML) \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f <a href=\"http:\/\/www.nikoport.com\/2017\/08\/30\/columnstore-indexes-part-111-row-group-elimination-pain-points\/\" rel=\"nofollow noopener noreferrer\">Row Group Elimination<\/a>:<\/p>\n<pre> Table 'T5_CCI'. Scan count 1, ..., lob logical reads 2713, ... Table 'T5_CCI'. Segment reads 1, segment skipped 7.   CPU time = 15 ms,  elapsed time = 9 ms.  Table 'T5_CCI'. Scan count 1, ..., lob logical reads 0, ... Table 'T5_CCI'. Segment reads 0, segment skipped 8.   CPU time = 0 ms,  elapsed time = 0 ms.  Table 'T5_CCI'. Scan count 1, ..., lob logical reads 22724, ... Table 'T5_CCI'. Segment reads 8, segment skipped 0.   CPU time = 547 ms,  elapsed time = 669 ms. <\/pre>\n<p>  \u0412 \u0447\u0430\u0441\u0442\u0438 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0439 \u0435\u0441\u0442\u044c \u043e\u0442\u043a\u0440\u043e\u0432\u0435\u043d\u043d\u044b\u0435 \u043d\u0435\u0434\u043e\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0442\u043e\u0440\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0434\u043e \u0431\u043e\u043b\u0438 \u043d\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u044e\u0442 \u0441\u0442\u0430\u0440\u044b\u0439 \u0431\u0430\u0433 \u0432 SQL Server 2008R2 (\u043a\u043e\u0433\u0434\u0430 \u043f\u0440\u0435\u0434 \u0430\u0433\u0440\u0435\u0433\u0430\u0446\u0438\u044f \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0431\u044b\u0441\u0442\u0440\u0435\u0435, \u0447\u0435\u043c \u0430\u0433\u0440\u0435\u0433\u0430\u0446\u0438\u044f, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u0430\u044f \u0431\u043e\u043b\u0435\u0435 \u043a\u043e\u043c\u043f\u0430\u043a\u0442\u043d\u043e):<\/p>\n<pre> DBCC DROPCLEANBUFFERS SET STATISTICS IO, TIME ON  SELECT EOMONTH([DATETIME]), Cnt = SUM(Cnt) FROM (     SELECT [DATETIME], Cnt = COUNT(*)     FROM [T5_CCI]     GROUP BY [DATETIME] ) t GROUP BY EOMONTH([DATETIME])  SELECT EOMONTH([DATETIME]), Cnt = COUNT(*) FROM [T5_CCI] GROUP BY EOMONTH([DATETIME])  SET STATISTICS IO, TIME OFF <\/pre>\n<p>  \u0418 \u0442\u0430\u043a\u0438\u0445 \u043c\u043e\u043c\u0435\u043d\u0442\u043e\u0432, \u043f\u043e \u043f\u0440\u0430\u0432\u0434\u0435, \u043a\u0443\u0447\u0430 \u0438 \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0430\u044f \u0442\u0435\u043b\u0435\u0436\u043a\u0430:<\/p>\n<pre> Table 'T5_CCI'. Scan count 1, ..., lob logical reads 64, ...   CPU time = 0 ms,  elapsed time = 2 ms.  Table 'T5_CCI'. Scan count 1, ..., lob logical reads 32, ...   CPU time = 344 ms,  elapsed time = 380 ms. <\/pre>\n<p>  \u0420\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0438\u0445 \u0432\u0441\u0435 \u043d\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0441\u044f \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 \u0434\u0430\u043d\u043d\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0438, \u043d\u043e \u043c\u043d\u043e\u0433\u043e\u0435 \u043e \u0447\u0435\u043c \u043d\u0443\u0436\u043d\u043e \u0437\u043d\u0430\u0442\u044c \u043f\u0440\u0435\u043a\u0440\u0430\u0441\u043d\u043e \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u0432 <a href=\"https:\/\/www.youtube.com\/watch?v=QGK-EvYKarY\" rel=\"nofollow noopener noreferrer\">\u0432\u0438\u0434\u0435\u043e<\/a> \u0437\u0430 \u0430\u0432\u0442\u043e\u0440\u0441\u0442\u0432\u043e\u043c \u0414\u043c\u0438\u0442\u0440\u0438\u044f \u041f\u0438\u043b\u044e\u0433\u0438\u043d\u0430. \u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e \u0435\u0441\u0442\u044c \u043e\u0442\u043b\u0438\u0447\u043d\u044b\u0439 <a href=\"http:\/\/www.nikoport.com\/category\/columnstore\/\" rel=\"nofollow noopener noreferrer\">\u0431\u043b\u043e\u0433<\/a> \u043f\u043e\u0441\u0432\u044f\u0449\u0435\u043d\u043d\u044b\u0439 Column-store \u0438\u043d\u0434\u0435\u043a\u0441\u0430\u043c. \u041a\u0440\u0430\u0439\u043d\u0435 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u044e \u0434\u0430\u043d\u043d\u044b\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u044b \u0434\u043b\u044f \u0431\u043e\u043b\u0435\u0435 \u0433\u043b\u0443\u0431\u043e\u043a\u043e\u0433\u043e \u043f\u043e\u0433\u0440\u0443\u0436\u0435\u043d\u0438\u044f \u0432 \u0442\u0435\u043c\u0443 \u043a\u043e\u043b\u043e\u043d\u043e\u0447\u043d\u044b\u0445 \u0438\u043d\u0434\u0435\u043a\u0441\u043e\u0432!<\/p>\n<p>  \u0415\u0441\u043b\u0438 \u0441 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u043c\u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044f\u043c\u0438 \u0432\u0441\u0435 \u0431\u043e\u043b\u0435\u0435-\u043c\u0435\u043d\u0435\u0435 \u043f\u043e\u043d\u044f\u0442\u043d\u043e \u0438, \u043d\u0430\u0434\u0435\u044e\u0441\u044c, \u044f \u0441\u043c\u043e\u0433 \u0443\u0431\u0435\u0434\u0438\u0442\u044c \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0430\u0445 \u0432\u044b\u0448\u0435, \u0447\u0442\u043e \u0437\u0430\u0447\u0430\u0441\u0442\u0443\u044e \u043e\u043d\u0438 \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0449\u0438\u043c \u0444\u0430\u043a\u0442\u043e\u0440\u043e\u043c \u0434\u043b\u044f \u043f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u043e\u0439 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043f\u043e\u0434 Express Edition. \u041d\u043e \u043a\u0430\u043a \u0431\u044b\u0442\u044c \u0441 \u0440\u0435\u0441\u0443\u0440\u0441\u043d\u044b\u043c\u0438 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f\u043c\u0438\u2026 \u044f \u0431\u044b \u0441\u043a\u0430\u0437\u0430\u043b \u043a\u0430\u0436\u0434\u044b\u0439 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0439 \u0441\u043b\u0443\u0447\u0430\u0439 \u0440\u0435\u0448\u0430\u0435\u0442\u0441\u044f \u0438\u043d\u0434\u0438\u0432\u0438\u0434\u0443\u0430\u043b\u044c\u043d\u043e.<\/p>\n<p>  Express Edition \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432\u0441\u0435\u0433\u043e 4 \u044f\u0434\u0440\u0430 \u043d\u0430 \u0438\u043d\u0441\u0442\u0430\u043d\u0441, \u043d\u043e \u0447\u0442\u043e \u043d\u0430\u043c \u043c\u0435\u0448\u0430\u0435\u0442 \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u044c \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u043c 16 \u044f\u0434\u0435\u0440) \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0438\u043d\u0441\u0442\u0430\u043d\u0441\u043e\u0432, \u0437\u0430 \u043a\u0430\u0436\u0434\u044b\u043c \u0438\u0437 \u043d\u0438\u0445 \u0437\u0430\u043a\u0440\u0435\u043f\u0438\u0442\u044c \u0441\u0432\u043e\u0438 \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u044f\u0434\u0440\u0430 \u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0434\u0435\u0448\u0435\u0432\u044b\u0439 \u0430\u043d\u0430\u043b\u043e\u0433 \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u0443\u0435\u043c\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0435\u0440\u043d\u043e\u0439 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b \u2013 \u043a\u043e\u0433\u0434\u0430 \u043a\u0430\u0436\u0434\u044b\u0439 \u0441\u0435\u0440\u0432\u0438\u0441 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0441\u043e \u0441\u0432\u043e\u0438\u043c \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u043e\u043c \u0431\u0430\u0437\u044b.<\/p>\n<p>  \u041d\u0435 \u0445\u0432\u0430\u0442\u0430\u0435\u0442 Buffer Pool \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c \u0432 \u043e\u0434\u0438\u043d \u0433\u0438\u0433\u0430\u0431\u0430\u0439\u0442? \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u0441\u0442\u043e\u0438\u0442 \u0441\u0432\u0435\u0441\u0442\u0438 \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0447\u0442\u0435\u043d\u0438\u044f \u043a \u043c\u0438\u043d\u0438\u043c\u0443\u043c\u0443 \u0437\u0430 \u0441\u0447\u0435\u0442 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0438 \u0432\u043d\u0435\u0434\u0440\u0435\u043d\u0438\u044f \u0441\u0435\u043a\u0446\u0438\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, \u043a\u043e\u043b\u043e\u043d\u043e\u0447\u043d\u044b\u0445 \u0438\u043d\u0434\u0435\u043a\u0441\u043e\u0432 \u0438\u043b\u0438 \u0431\u0430\u043d\u0430\u043b\u044c\u043d\u043e \u0441\u0436\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0430\u0445. \u0415\u0441\u043b\u0438 \u044d\u0442\u043e \u043d\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u043c, \u0442\u043e \u043c\u0438\u0433\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043d\u0430 \u0431\u043e\u043b\u0435\u0435 \u0431\u044b\u0441\u0442\u0440\u044b\u0435 \u0434\u0438\u0441\u043a\u043e\u0432\u044b\u0435 \u043c\u0430\u0441\u0441\u0438\u0432\u044b.<\/p>\n<p>  \u041d\u043e \u043a\u0430\u043a \u0431\u044b\u0442\u044c \u0441 \u043f\u0440\u0435\u0434\u0435\u043b\u044c\u043d\u044b\u043c \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c \u0444\u0430\u0439\u043b\u0430 \u0434\u0430\u043d\u043d\u044b\u0445, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u0435\u0432\u044b\u0448\u0430\u0442\u044c 10\u0413\u0431 \u0438 \u043f\u0440\u0438 \u043f\u043e\u043f\u044b\u0442\u043a\u0435 \u0435\u0433\u043e \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u044c, \u0441\u0432\u044b\u0448\u0435 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u0439 \u0432\u0435\u043b\u0438\u0447\u0438\u043d\u044b, \u043c\u044b \u043e\u0436\u0438\u0434\u0430\u0435\u043c\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u043c \u043e\u0448\u0438\u0431\u043a\u0443:<\/p>\n<p>  <em>CREATE DATABASE or ALTER DATABASE failed because the resulting cumulative database size would exceed your licensed limit of 10240 MB per database.<\/em><\/p>\n<p>  \u0415\u0441\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u0432 \u043e\u0431\u043e\u0439\u0442\u0438 \u0434\u0430\u043d\u043d\u0443\u044e \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443.<\/p>\n<p>  \u041c\u044b \u043c\u043e\u0436\u0435\u043c \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0431\u0430\u0437 \u0434\u0430\u043d\u043d\u044b\u0445, \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0437\u043c\u0435\u0449\u0430\u0442\u044c\u0441\u044f \u0441\u0432\u043e\u044f \u043f\u043e\u0440\u0446\u0438\u044f \u0438\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445. \u0414\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0439 \u0438\u0437 \u0442\u0430\u043a\u0438\u0445 \u0442\u0430\u0431\u043b\u0438\u0446 \u043c\u044b \u0437\u0430\u0434\u0430\u0434\u0438\u043c \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 \u0438 \u0434\u0430\u043b\u0435\u0435 \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0438\u043c \u0432\u0441\u0435 \u044d\u0442\u0438 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 \u043e\u0434\u043d\u043e\u0433\u043e \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f. \u0422\u0430\u043a \u043c\u044b \u043f\u043e \u0438\u0442\u043e\u0433\u0443 \u043f\u043e\u043b\u0443\u0447\u0438\u043c \u0432\u0435\u0440\u0442\u0438\u043a\u0430\u043b\u044c\u043d\u043e\u0435 \u0448\u0430\u0440\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 \u043e\u0434\u043d\u043e\u0433\u043e \u0438\u043d\u0441\u0442\u0430\u043d\u0441\u0430.<\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0432\u0435\u0440\u0442\u0438\u043a\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0448\u0430\u0440\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f<\/b>                         <\/p>\n<div class=\"spoiler_text\">\n<pre> USE [master] GO  SET NOCOUNT ON SET STATISTICS IO, TIME OFF  IF DB_ID('DB_2019') IS NOT NULL BEGIN     ALTER DATABASE [DB_2019] SET SINGLE_USER WITH ROLLBACK IMMEDIATE     DROP DATABASE [DB_2019] END GO  IF DB_ID('DB_2020') IS NOT NULL BEGIN     ALTER DATABASE [DB_2020] SET SINGLE_USER WITH ROLLBACK IMMEDIATE     DROP DATABASE [DB_2020] END GO  IF DB_ID('DB_2021') IS NOT NULL BEGIN     ALTER DATABASE [DB_2021] SET SINGLE_USER WITH ROLLBACK IMMEDIATE     DROP DATABASE [DB_2021] END GO  IF DB_ID('DB') IS NOT NULL BEGIN     ALTER DATABASE [DB] SET SINGLE_USER WITH ROLLBACK IMMEDIATE     DROP DATABASE [DB] END GO  CREATE DATABASE [DB_2019] ALTER DATABASE [DB_2019] SET AUTO_CLOSE OFF, RECOVERY SIMPLE  CREATE DATABASE [DB_2020] ALTER DATABASE [DB_2020] SET AUTO_CLOSE OFF, RECOVERY SIMPLE  CREATE DATABASE [DB_2021] ALTER DATABASE [DB_2021] SET AUTO_CLOSE OFF, RECOVERY SIMPLE  CREATE DATABASE [DB] ALTER DATABASE [DB] SET AUTO_CLOSE OFF, RECOVERY SIMPLE GO   USE [DB_2019] GO  CREATE TABLE [T_2019] ([A] DATETIME, [B] INT, PRIMARY KEY ([A], [B])) ALTER TABLE [T_2019] WITH CHECK ADD CONSTRAINT [T_CK]     CHECK ([A] &gt;= '20190101' AND [A] &lt; '20200101') GO  INSERT INTO [T_2019] VALUES ('20190101', 1), ('20190201', 2), ('20190301', 3) GO  USE [DB_2020] GO  CREATE TABLE [T_2020] ([A] DATETIME, [B] INT, PRIMARY KEY ([A], [B])) ALTER TABLE [T_2020] WITH CHECK ADD CONSTRAINT [T_CK]     CHECK ([A] &gt;= '20200101' AND [A] &lt; '20210101') GO  INSERT INTO [T_2020] VALUES ('20200401', 4), ('20200501', 5), ('20200601', 6) GO  USE [DB_2021] GO  CREATE TABLE [T_2021] ([A] DATETIME, [B] INT, PRIMARY KEY ([A], [B])) ALTER TABLE [T_2021] WITH CHECK ADD CONSTRAINT [T_CK]     CHECK ([A] &gt;= '20210101' AND [A] &lt; '20220101') GO  INSERT INTO [T_2021] VALUES ('20210701', 7), ('20210801', 8), ('20210901', 9) GO  USE [DB] GO  CREATE SYNONYM [dbo].[T_2019] FOR [DB_2019].[dbo].[T_2019] CREATE SYNONYM [dbo].[T_2020] FOR [DB_2020].[dbo].[T_2020] CREATE SYNONYM [dbo].[T_2021] FOR [DB_2021].[dbo].[T_2021] GO  CREATE VIEW [T] AS     SELECT * FROM [dbo].[T_2019]     UNION ALL     SELECT * FROM [dbo].[T_2020]     UNION ALL     SELECT * FROM [dbo].[T_2021] GO <\/pre>\n<p>  <\/div>\n<\/p><\/div>\n<p>  \u041f\u0440\u0438 \u0444\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u0438 \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 \u043f\u043e\u043b\u044f, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0437\u0430\u0434\u0430\u043d\u043e \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435, \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u0432\u044b\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0443\u0436\u043d\u044b\u0435 \u043d\u0430\u043c \u0434\u0430\u043d\u043d\u044b\u0435:<\/p>\n<pre> SELECT COUNT(*) FROM [T] WHERE [A] &gt; '20200101' <\/pre>\n<p>  \u0447\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u043d\u0430 \u043f\u043b\u0430\u043d\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0438\u043b\u0438 \u0432 \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0435:<\/p>\n<pre> Table 'T_2021'. Scan count 1, logical reads 2, ... Table 'T_2020'. Scan count 1, logical reads 2, ... <\/pre>\n<p>  \u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u0437\u0430 \u0441\u0447\u0435\u0442 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0439 \u043d\u0430\u043c \u0440\u0430\u0437\u0440\u0435\u0448\u0430\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u0437\u0440\u0430\u0447\u043d\u043e \u043c\u043e\u0434\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f:<\/p>\n<pre> INSERT INTO [T] VALUES ('20210101', 999) UPDATE [T] SET [B] = 1 WHERE [A] = '20210101' DELETE FROM [T] WHERE [A] = '20210101' <\/pre>\n<p>  <\/p>\n<pre> Table 'T_2021'. Scan count 0, logical reads 2, ...  Table 'T_2021'. Scan count 1, logical reads 6, ... Table 'T_2020'. Scan count 0, logical reads 0, ... Table 'T_2019'. Scan count 0, logical reads 0, ...  Table 'T_2021'. Scan count 1, logical reads 2, ... Table 'T_2020'. Scan count 0, logical reads 0, ... Table 'T_2019'. Scan count 0, logical reads 0, ... <\/pre>\n<p>  \u041f\u0440\u0438\u043c\u0435\u043d\u044f\u044f \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0439 \u043f\u043e\u0434\u0445\u043e\u0434 \u043c\u044b \u0441\u043c\u043e\u0436\u0435\u043c \u0447\u0430\u0441\u0442\u0438\u0447\u043d\u043e \u0440\u0435\u0448\u0438\u0442\u044c \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443, \u043d\u043e \u0432\u0441\u0435 \u0440\u0430\u0432\u043d\u043e \u043a\u0430\u0436\u0434\u0430\u044f \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u0430\u044f \u0431\u0430\u0437\u0430 \u0431\u0443\u0434\u0435\u0442 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0430 \u0437\u0430\u0432\u0435\u0442\u043d\u044b\u043c\u0438 10\u0413\u0431.<\/p>\n<p>  \u0415\u0449\u0435 \u043e\u0434\u0438\u043d \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u043f\u0440\u0438\u0434\u0443\u043c\u0430\u043d \u0434\u043b\u044f \u043b\u044e\u0431\u0438\u0442\u0435\u043b\u0435\u0439 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u043d\u044b\u0445 \u0438\u0437\u0432\u0440\u0430\u0449\u0435\u043d\u0438\u0439 \u2013 \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 \u043d\u0430 \u0440\u0430\u0437\u043c\u0435\u0440 \u0444\u0430\u0439\u043b\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u043d\u0435 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u044f\u0435\u0442\u0441\u044f \u043d\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0435 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 (master, msdb, model\u0438 tempdb), \u0442\u043e \u0432\u0441\u044e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0443 \u043c\u043e\u0436\u043d\u043e \u0432\u0435\u0441\u0442\u0438 \u0432 \u043d\u0438\u0445. \u041d\u043e \u0447\u0430\u0449\u0435 \u0432\u0441\u0435\u0433\u043e \u043f\u043e\u0434\u043e\u0431\u043d\u0430\u044f \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0445 \u0431\u0430\u0437 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0445 \u2013 \u044d\u0442\u043e \u0432\u044b\u0441\u0442\u0440\u0435\u043b \u0432 \u0441\u0435\u0431\u0435 \u043d\u043e\u0433\u0443 \u0438\u0437 \u0440\u043e\u043a\u0435\u0442\u043b\u0430\u0443\u043d\u0447\u0435\u0440\u0430. \u041f\u043e\u0442\u043e\u043c\u0443 \u0434\u0430\u0436\u0435 \u043d\u0435 \u0431\u0443\u0434\u0443 \u0440\u0430\u0441\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c \u0432\u0441\u0435 \u043f\u043e\u0434\u0432\u043e\u0434\u043d\u044b\u0435 \u043a\u0430\u043c\u043d\u0438 \u0442\u0430\u043a\u043e\u0433\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u044f, \u043d\u043e \u0435\u0441\u043b\u0438 \u0432\u0441\u0435 \u0436\u0435 \u0441\u0438\u043b\u044c\u043d\u043e \u0445\u043e\u0447\u0435\u0442\u0441\u044f \u2013 \u044d\u0442\u043e \u0442\u043e\u0447\u043d\u043e \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u0443\u0435\u0442 \u0432\u0430\u043c \u0431\u044b\u0441\u0442\u0440\u0443\u044e \u043f\u0440\u043e\u043a\u0430\u0447\u043a\u0443 \u043c\u0430\u0442\u0435\u0440\u043d\u043e\u0433\u043e \u043b\u0435\u043a\u0441\u0438\u043a\u043e\u043d\u0430 \u0434\u043e \u0443\u0440\u043e\u0432\u043d\u044f \u043f\u0440\u043e\u0440\u0430\u0431\u0430 \u0441 30-\u0442\u0438 \u043b\u0435\u0442\u043d\u0438\u043c \u043e\u043f\u044b\u0442\u043e\u043c. <\/p>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u043f\u0435\u0440\u0435\u0439\u0434\u0435\u043c \u043a \u0440\u0430\u0431\u043e\u0447\u0435\u043c\u0443 \u0440\u0435\u0448\u0435\u043d\u0438\u044e \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b.<\/p>\n<p>  \u0421\u043e\u0437\u0434\u0430\u0435\u043c \u0431\u0430\u0437\u0443 \u0434\u0430\u043d\u043d\u044b\u0445 \u043d\u0443\u0436\u043d\u043e\u0433\u043e \u043d\u0430\u043c \u0440\u0430\u0437\u043c\u0435\u0440\u0430 \u043d\u0430 Developer Edition \u0438 \u0434\u0435\u043b\u0430\u0435\u043c \u0434\u0435\u0442\u0430\u0447:<\/p>\n<pre> USE [master] GO  IF DB_ID('express') IS NOT NULL BEGIN     ALTER DATABASE [express] SET SINGLE_USER WITH ROLLBACK IMMEDIATE     DROP DATABASE [express] END GO  CREATE DATABASE [express] GO ALTER DATABASE [express] MODIFY FILE (NAME = N'express', SIZE = 20 GB) ALTER DATABASE [express] MODIFY FILE (NAME = N'express_log', SIZE = 100 MB) ALTER DATABASE [express] SET DISABLE_BROKER GO  EXEC [master].dbo.sp_detach_db @dbname = N'express' GO <\/pre>\n<p>  \u0421\u043e\u0437\u0434\u0430\u0435\u043c \u0431\u0430\u0437\u0443 \u0441 \u0442\u0430\u043a\u0438\u043c \u0436\u0435 \u0438\u043c\u0435\u043d\u0435\u043c \u043d\u0430 Express Edition \u0438 \u043f\u043e\u0441\u043b\u0435 \u043e\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u0441\u0435\u0440\u0432\u0438\u0441:<\/p>\n<pre> USE [master] GO  IF DB_ID('express') IS NOT NULL BEGIN     ALTER DATABASE [express] SET SINGLE_USER WITH ROLLBACK IMMEDIATE     DROP DATABASE [express] END GO  CREATE DATABASE [express] GO ALTER DATABASE [express] MODIFY FILE (NAME = N'express', SIZE = 100 MB) ALTER DATABASE [express] MODIFY FILE (NAME = N'express_log', SIZE = 100 MB) ALTER DATABASE [express] SET DISABLE_BROKER GO <\/pre>\n<p>  \u041f\u0435\u0440\u0435\u043c\u0435\u0449\u0430\u0435\u043c \u0444\u0430\u0439\u043b\u044b \u043d\u0430\u0448\u0435\u0439 \u0431\u0430\u0437\u044b c Developer Edition, \u043d\u0430 \u0442\u043e \u043c\u0435\u0441\u0442\u043e, \u0433\u0434\u0435 \u043b\u0435\u0436\u0438\u0442 \u0442\u0430\u043a\u0430\u044f \u0436\u0435 \u0431\u0430\u0437\u0430 \u043d\u0430 Express Edition, \u0437\u0430\u043c\u0435\u043d\u044f\u044f \u043e\u0434\u043d\u0438 \u0444\u0430\u0439\u043b\u044b \u0434\u0440\u0443\u0433\u0438\u043c\u0438. \u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440 SQL Server Express Edition.<\/p>\n<p>  \u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u0440\u0430\u0437\u043c\u0435\u0440 \u043d\u0430\u0448\u0438\u0445 \u0431\u0430\u0437 \u0434\u0430\u043d\u043d\u044b\u0445:<\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">\u0420\u0430\u0437\u043c\u0435\u0440 \u0431\u0430\u0437 \u0434\u0430\u043d\u043d\u044b\u0445 \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435<\/b>                         <\/p>\n<div class=\"spoiler_text\">\n<pre> SET NOCOUNT ON SET ARITHABORT ON SET NUMERIC_ROUNDABORT OFF SET STATISTICS IO, TIME OFF  IF OBJECT_ID('tempdb.dbo.#database_files') IS NOT NULL     DROP TABLE #database_files  CREATE TABLE #database_files (       [db_id]      INT DEFAULT DB_ID()     , [name]         SYSNAME     , [type]         INT     , [size_mb]      BIGINT     , [used_size_mb] BIGINT )  DECLARE @sql NVARCHAR(MAX) = STUFF((     SELECT ' USE ' + QUOTENAME([name]) + ' INSERT INTO #database_files ([name], [type], [size_mb], [used_size_mb]) SELECT [name]      , [type]      , CAST([size] AS BIGINT) * 8 \/ 1024      , CAST(FILEPROPERTY([name], ''SpaceUsed'') AS BIGINT) * 8 \/ 1024 FROM sys.database_files WITH(NOLOCK);'     FROM sys.databases WITH(NOLOCK)     WHERE [state] = 0         AND ISNULL(HAS_DBACCESS([name]), 0) = 1     FOR XML PATH(''), TYPE).value('(.\/text())[1]', 'NVARCHAR(MAX)'), 1, 2, '')  EXEC sys.sp_executesql @sql  SELECT [db_id]          = d.[database_id]      , [db_name]        = d.[name]      , [state]          = d.[state_desc]      , [total_mb]       = s.[data_size] + s.[log_size]      , [data_mb]        = s.[data_size]      , [data_used_mb]   = s.[data_used_size]      , [data_free_mb]   = s.[data_size] - s.[data_used_size]      , [log_mb]         = s.[log_size]      , [log_used_mb]    = s.[log_used_size]      , [log_free_mb]    = s.[log_size] - s.[log_used_size] FROM sys.databases d WITH(NOLOCK) LEFT JOIN (     SELECT [db_id]          , [data_size]      = SUM(CASE WHEN [type] = 0 THEN [size_mb] END)          , [data_used_size] = SUM(CASE WHEN [type] = 0 THEN [used_size_mb] END)          , [log_size]       = SUM(CASE WHEN [type] = 1 THEN [size_mb] END)          , [log_used_size]  = SUM(CASE WHEN [type] = 1 THEN [used_size_mb] END)     FROM #database_files     GROUP BY [db_id] ) s ON d.[database_id] = s.[db_id] ORDER BY [total_mb] DESC <\/pre>\n<p>  <\/div>\n<\/p><\/div>\n<p>  \u0412\u0443\u0430\u043b\u044f! \u0422\u0435\u043f\u0435\u0440\u044c \u0440\u0430\u0437\u043c\u0435\u0440 \u0444\u0430\u0439\u043b\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u0440\u0435\u0432\u044b\u0448\u0430\u0435\u0442 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 \u0438 \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u0431\u0430\u0437\u0430 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0440\u0430\u0431\u043e\u0442\u043e\u0441\u043f\u043e\u0441\u043e\u0431\u043d\u0430: <\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/yw\/-p\/zz\/yw-pzzeglrfrrnz9vjpwoz2h70i.png\"><\/p>\n<p>  \u041c\u043e\u0436\u043d\u043e, \u043a\u0430\u043a \u0438 \u043f\u0440\u0435\u0436\u0434\u0435, \u0434\u0435\u043b\u0430\u0442\u044c \u0448\u0440\u0438\u043d\u043a, \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u044b\u0435 \u043a\u043e\u043f\u0438\u0438 \u0438\u043b\u0438 \u043c\u0435\u043d\u044f\u0442\u044c \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u044d\u0442\u043e\u0439 \u0431\u0430\u0437\u044b. \u0421\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0432\u043e\u0437\u043d\u0438\u043a\u043d\u0443\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u0441\u043b\u0443\u0447\u0430\u044f\u0445, \u0435\u0441\u043b\u0438 \u0432\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0431\u0430\u0437\u0443 \u0438\u0437 \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u043e\u0439 \u043a\u043e\u043f\u0438\u0438 \u0438\u043b\u0438 \u0435\u0449\u0435 \u0440\u0430\u0437 \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u044c \u0440\u0430\u0437\u043c\u0435\u0440 \u0444\u0430\u0439\u043b\u0430 \u0434\u0430\u043d\u043d\u044b\u0445. \u0412 \u0442\u0430\u043a\u0438\u0445 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044f\u0445, \u043c\u044b \u0441\u043c\u043e\u0436\u0435\u043c \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u0443\u044e \u043a\u043e\u043f\u0438\u044e \u043d\u0430 Developer Edition, \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u044c \u0440\u0430\u0437\u043c\u0435\u0440 \u0434\u043e \u0442\u0440\u0435\u0431\u0443\u0435\u043c\u043e\u0433\u043e \u0438 \u0434\u0430\u043b\u0435\u0435 \u043f\u043e\u0434\u043c\u0435\u043d\u0438\u0442\u044c \u0444\u0430\u0439\u043b\u044b \u043a\u0430\u043a \u0431\u044b\u043b\u043e \u043e\u043f\u0438\u0441\u0430\u043d\u043e \u0432\u044b\u0448\u0435.<\/p>\n<p>  \u041a\u0430\u043a \u0438\u0442\u043e\u0433, SQL Server Express Edition \u043e\u0447\u0435\u043d\u044c \u0447\u0430\u0441\u0442\u043e \u043d\u0435\u0437\u0430\u0441\u043b\u0443\u0436\u0435\u043d\u043d\u043e \u043e\u0431\u0445\u043e\u0434\u044f\u0442 \u0441\u0442\u043e\u0440\u043e\u043d\u043e\u0439, \u043f\u0440\u0438\u043a\u0440\u044b\u0432\u0430\u044f\u0441\u044c \u0440\u0435\u0441\u0443\u0440\u0441\u043d\u044b\u043c\u0438 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f\u043c \u0438 \u0435\u0449\u0435 \u043a\u043e\u0442\u043e\u043c\u043a\u043e\u0439 \u0434\u0440\u0443\u0433\u0438\u0445 \u043e\u0442\u0433\u043e\u0432\u043e\u0440\u043e\u043a. \u0413\u043b\u0430\u0432\u043d\u044b\u0439 \u043f\u043e\u0441\u044b\u043b \u0441\u0442\u0430\u0442\u044c\u0438 \u2013 \u044d\u0442\u043e \u0442\u043e, \u0447\u0442\u043e \u0441\u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432\u044b\u0441\u043e\u043a\u043e\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u043c\u043e\u0436\u043d\u043e \u043d\u0430 \u043b\u044e\u0431\u043e\u0439 \u0440\u0435\u0434\u0430\u043a\u0446\u0438\u0438 SQL Server.<\/p>\n<p>  \u0412\u0441\u0435\u043c \u0441\u043f\u0430\u0441\u0438\u0431\u043e \u0437\u0430 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435!<\/p>\n<p>  \u041f\u043e\u0434\u043f\u0438\u0441\u044b\u0432\u0430\u0439\u0442\u0435\u0441\u044c \u043d\u0430 <a href=\"https:\/\/www.instagram.com\/cloudwk\/\" rel=\"nofollow noopener noreferrer\">\u0438\u043d\u0441\u0442\u0430\u0433\u0440\u0430\u043c<\/a> \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043f\u043b\u0430\u043d\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0434\u0435\u043b\u0430\u0442\u044c \u0430\u043d\u043e\u043d\u0441\u044b \u0431\u0443\u0434\u0443\u0449\u0438\u0445 \u043c\u0435\u0440\u043e\u043f\u0440\u0438\u044f\u0442\u0438\u0439 \u0432 \u0425\u0430\u0440\u044c\u043a\u043e\u0432\u0435.<\/p>\n<p>  \u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u0432\u043e\u0437\u043d\u0438\u043a\u043b\u0430 \u0438\u0434\u0435\u044f \u043f\u043e-\u043c\u0435\u0441\u0442\u043d\u043e\u043c\u0443 \u043f\u043e\u0434 \u043a\u043e\u0444\u0435\u0435\u043a \u0432\u0441\u0435\u0445 \u0436\u0435\u043b\u0430\u044e\u0449\u0438\u0445 \u043f\u043e\u0434\u0443\u0447\u0438\u0442\u044c SQL Server \u0438 \u043f\u043e\u043e\u0431\u0441\u0443\u0436\u0434\u0430\u0442\u044c \u0442\u0440\u0435\u0448 \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0439 \u0441 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u043e\u0439. \u0415\u0441\u043b\u0438 \u0442\u0430\u043a\u0438\u0435 \u043c\u044b\u0441\u043b\u0438 \u0432\u043e\u0437\u043d\u0438\u043a\u043d\u0443\u0442, \u0442\u043e \u0441\u0442\u0443\u0447\u0438\u0442\u0435 \u043d\u0430 <a href=\"mailto:sergey.syrovatchenko@gmail.com\">\u043f\u043e\u0447\u0442\u0443<\/a>.<\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/post\/543742\/\"> https:\/\/habr.com\/ru\/post\/543742\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"\n<div class=\"post__text post__text-html post__text_v1\" id=\"post-content-body\"><em>\u041f\u0440\u043e\u0441\u043d\u0438\u0441\u044c\u2026 \u0442\u044b \u0432\u0441\u0435\u0433\u0434\u0430 \u043e\u0449\u0443\u0449\u0430\u043b, \u0447\u0442\u043e \u043c\u0438\u0440 \u043d\u0435 \u0432 \u043f\u043e\u0440\u044f\u0434\u043a\u0435. \u0421\u0442\u0440\u0430\u043d\u043d\u0430\u044f \u043c\u044b\u0441\u043b\u044c, \u043d\u043e \u0435\u0435 \u043d\u0435 \u043e\u0442\u043e\u0433\u043d\u0430\u0442\u044c \u2013 \u043e\u043d\u0430 \u043a\u0430\u043a \u0437\u0430\u043d\u043e\u0437\u0430 \u0432 \u043c\u043e\u0437\u0433\u0443. \u0422\u044b \u0432\u0441\u044e \u0436\u0438\u0437\u043d\u044c \u0436\u0438\u0432\u0435\u0448\u044c \u0432 \u0442\u0435\u043c\u043d\u0438\u0446\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0439 \u0438 \u043f\u0440\u0430\u0432\u0438\u043b, \u043d\u0430\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0445 \u0432\u0441\u0435\u0441\u0438\u043b\u044c\u043d\u044b\u043c \u041c\u0430\u0439\u043a\u0440\u043e\u0441\u043e\u0444\u0442\u043e\u043c, \u0438 \u0434\u0430\u0436\u0435 \u043d\u0435 \u043e\u0441\u043e\u0437\u043d\u0430\u0435\u0448\u044c \u044d\u0442\u043e\u0433\u043e.<\/em><\/p>\n<p>  <em>\u041d\u0430\u0436\u043c\u0435\u0448\u044c \u0434\u0438\u0437\u043b\u0430\u0439\u043a \u0438 \u0441\u043a\u0430\u0437\u043a\u0435 \u043a\u043e\u043d\u0435\u0446 \u2013 \u0442\u044b \u0437\u0430\u043a\u0440\u043e\u0435\u0448\u044c \u0432\u043a\u043b\u0430\u0434\u043a\u0443 \u0438 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0448\u044c \u0431\u0435\u0441\u0446\u0435\u043b\u044c\u043d\u043e \u0431\u0440\u043e\u0434\u0438\u0442\u044c \u043f\u043e \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u044f\u043c \u0425\u0430\u0431\u0440\u0430 \u0438 YouTube.<\/em><\/p>\n<p>  <em>\u0417\u0430\u0445\u043e\u0447\u0435\u0448\u044c \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u044c \u0438 \u0432\u043e\u0439\u0434\u0435\u0448\u044c \u0432 \u0441\u0442\u0440\u0430\u043d\u0443 \u0447\u0443\u0434\u0435\u0441 \u2013 \u044f \u043f\u043e\u043a\u0430\u0436\u0443 \u0442\u0435\u0431\u0435 \u043d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0433\u043b\u0443\u0431\u043e\u043a\u0430\u2026 \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u0430\u044f\u2026 \u043a\u0440\u043e\u043b\u0438\u0447\u044c\u044f \u043d\u043e\u0440\u0430 \u0443\u0441\u043f\u0435\u0448\u043d\u043e\u0439 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043d\u0430 SQL Server Express Edition.<\/em><\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/dd\/uo\/1i\/dduo1i_vmmf9-c--_yeiivl4ap4.jpeg\" width=\"600\"><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-318548","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/318548","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=318548"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/318548\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=318548"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=318548"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=318548"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}